Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步。
注:ntpdate命令只是修改了系统时间,并没有记录到硬件里去,重启系统后时间依然不准。
date命令:
date :查看当前时间,结果如下:Tue Mar 4 01:36:45 CST 2014
date -s 09:38:40 :设置当前时间,结果如下:Tue Mar 4 09:38:40 CST 2014
ntpdate命令:
ntpdate
-u 210.72.145.44 :网络时间同步命令
参数说明:
-u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步
注意:若不加上-u参数, 会出现以下提示:
no server suitable for synchronization found
ntp常用服务器:
中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
经测试中国国家授时中心与NTP上海服务器可以正常同步时间,注意需要加上-u参数!
查看、设置硬件时间命令:
-
hwclock/clock 命令查看、设置硬件时间
查看系统硬件时钟
hwclock --show
设置硬件时间
hwclock --set --date="06/18/14 14:55" (格式:月/日/年时:分:秒)
-
同步系统及硬件时钟。
-
硬件时钟与系统时钟同步:
# hwclock --hctosys hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟
系统时钟和硬件时钟同步:
# hwclock --systohc 即用系统时钟同步硬件时钟