本帖最后由 zhaorong 于 2017-3-7 15:41 编辑
inux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等复杂操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步。
Linux时间的操作的常见命令
date命令
使用方式 :
1.date :查看当前时间,结果如下:
- [root@linuxprobe ~]# date
- 2016年 04月 29日 星期五 23:04:30 CST
复制代码
2.date '+%Y%M%D' 按照格式显示当前日期,结果如下:
[
- root@linuxprobe ~]# date "+%Y-%m-%d %H:%M:%S"
- 2016-04-29 23:30:12
复制代码
3.date -s "xxx xx:xx:xx" 设置系统时间
- [root@linuxprobe ~]# date -s "20160429 15:30:00"
- 2016年 04月 29日 星期五 15:30:00 CST
复制代码
以上的命令为linux系统时间的常见操作,具体命令见:《linux就该这样学》第2章 新手必须掌握的Linux命令。
linux的时间同步[/size]
下面我们来看一下我们在复杂环境下怎么把多台linux设置统一的正确环境:对-时间同步
命令:utpdate 时间服务器ip
ntpdate -u xx.xx.xx.xx 结果如下:
[- root@linuxprobe ~]# ntpdate -u ntp.api.bz
- 29 Apr 15:26:27 ntpdate[2667]: step time server 61.153.197.226 offset -311.570389 sec
- [root@linuxprobe ~]# date
- 2016年 04月 29日 星期五 15:26:32 CST
复制代码
ps:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
ntp常用服务器:
- 中国国家授时中心:210.72.145.44
- NTP服务器(上海) :ntp.api.bz
- 美国: time.nist.gov
- 复旦: ntp.fudan.edu.cn
- 微软公司授时主机(美国) :time.windows.com
- 北京邮电大学 : s1a.time.edu.cn
- 清华大学 : s1b.time.edu.cn
- 北京大学 : s1c.time.edu.cn
- 台警大授时中心(台湾):asia.pool.ntp.org
- [font=黑体][b][size=4]
复制代码
时区操作
查看时区:
1.date "+%Z"
- [root@linuxprobe ~]# date "+%Z"
- [root@linuxprobe ~]# CST
复制代码
2.使用cat /etc/sysconfig/clock查看当前时区
- [root@linuxprobe ~]# cat /etc/sysconfig/clock
- # The time zone of the system is defined by the contents of /etc/localtime.
- # This file is only for evaluation by system-config-date, do not rely on its
- # contents elsewhere.
- ZONE="Asia/Shanghai"
- [font=黑体][b][size=4]
复制代码
设置时区:
复制相应的时区文件,替换系统默认时区 文件链接法
[
- root@linuxprobe ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- [root@linuxprobe ~]#
复制代码
p
- s :/usr/share/zoneinfo为所有不通地区的时区位置
- [root@linuxprobe ~]# ls /usr/share/zoneinfo/Asia/
- Aden Bahrain Chungking Harbin Jerusalem Kuala_Lumpur Nicosia Qyzylorda Seoul Thimphu Yekaterinburg
- ……
- Almaty Baku Colombo
- Baghdad Chongqing Gaza Jayapura Krasnoyarsk Muscat Qatar Samarkand Thimbu Yakutsk
复制代码
将系统时间写入到硬件(bios)
1.hwclock
- [root@linuxprobe ~]# hwclock
- 2016年04月29日 星期五 15时39分30秒 -0.375972 seconds
复制代码
2.clock -w
- [root@linuxprobe ~]# clock -w
- [root@linuxprobe ~]#
复制代码