今天在搭建项目环境的时候,发现有一台服务器使用ntpdata ntpserver命令后,与ntp服务器时间差距很大。经过排查,最终发现是由于在安装系统时,选择时区这一块没有选择正确(默认时区),由此导致了显示的时间和服务器的时间差距很大。

解决办法:修改系统时区为Asia/Shanghai(使用如下命令),然后再重新执行ntpdate命令即可。cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

相关扩展:

查看系统时区相关命令:[root@localhost ~]# date +%z

+0800     #<==即东八区时间

修改系统时区相关操作:

将/usr/share/zoneinfo/目录下面的对应时区文件复制到/etc/目录,并重命令为localtime,例如设置Asia/Shanghai为默认时区命令:cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

/etc/localtime文件:设置系统的时区,将/usr/share/zoneinfo/ 中相应文件拷贝到/etc下并重命名为 localtime 即可修改时区设置,这种修改对 date

命令是及时生效的。不论是 date 还是 hwclock 都会用到这个文件,会根据这个文件的时区设置来进行UTC和本地之间之间的换算。

/etc/sysconfig/clock文件(不用修改):

这个配置文件里面支持UTC,ARC,SRM,ZONE这几个配置选项,关于这几个配置选项详解如下:

(1)UTC

指定BIOS中保存的时间是否是GMT/UTC时间,true表示BIOS里面保存的时间是UTC时间,false表示BIOS里面保存的时间是本地时间

(2)ZONE

指定时区,ZONE的值是一个文件的相对路径名,这个文件是相对 /usr/share/zoneinfo 目录下的一个时区文件。比如ZONE的值可以是:“Asia/Shanghai", "US/Pacific", "UTC" 等

(3)ARC

这个选项一般配置false,在一些特殊硬件(Alpha)下才配置该选项为true

(4)SRM

它同ARC,该选项一般配置false,在一下特殊硬件下才配置该选项为false

说明:这个配置文件里面的参数和 hwclock 命令关系很大,系统在启动的时候读取/etc/sysconfig/clock 文件的内容,根据这些内容调用hwclock 命令

(5)/etc/sysconfig/clock的配置实例

ZONE="Asia/Shanghai"

UTC=false

ARC=false

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐