Linux系统使用ntp对时后发现时间依然不准确?
这是怎么回事呢?不就是一条命令的事吗,怎么会对不了时,下面是我遇到的情况:
可能一:
ntpd服务没有启动,启动ntpd服务,再同步即可。
systemctl start ntpd
ntpdate -s ntp.ntsc.ac.cn
可能二:
(这是我遇到的情况)
date出来的时间显示的是 PDT ,正常应该是CST
[root@LiaoZJ ~]# date
Fri Jul 31 19:53:57 CST 2020
PDT太平洋夏季时间,如果你的时区不是CST,而是其他时区,你可以去找个时间转换器,看看时差,你会发现时间其实是对的,只不过同步的是太平洋的夏季时间,而不是同步我们想要的北京时间。
为什么我的时去无端端会发生改变呢?原来是我在创建虚拟机的时候,乱选时间,(虽然说创建虚拟机的时候时间的选择并不重要,但是对于小白来说,后面进行时间同步就很有可能搞不明白究竟是哪里的问题。)没有选到亚洲的时区,导致后面进行时间同步就不会同步亚洲时区,而是同步一开始选择的时区。
**
- 解决方法
**
执行tzselect命令–>选择Asia–>选择China–>选择east China - Beijing, Guangdong,
Shanghai, etc–>然后输入1。
执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行TZ=‘Asia/Shanghai’; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。
执行完之后,再次ntpdate同步时间,就成功了。
但是这个是临时的,重启之后就会失效。以下是永久修改:
复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
需要同步中国的时间可以直接使用下面的命令:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
还有的方法是去/etc/sysconfig/clock去修改,
不过我的centOS7.7没有这个文件。