技术解析

遇到一个 openwrt 上古怪的时间同步的问题,请各位帮忙看看。
0
2021-07-16 20:00:23
idczone
遇到一个时间同步问题。请看图:


右边是windows正确的时间,左边是openwrt获取的错误时间。
古怪的是,和正确的时间差距74682秒.

如图所示,openwrt上时区设置是正确的,
并且,ntpd从asia.pool.ntp.org获取时间是不太可能有错的。

实在没想通74682这个神奇的数字从何而来.
一个CST,一个UTC啊

感谢回复。
坦白讲,我知道一个是cst一个是utc。
在 http://wiki.openwrt.org/doc/uci/system 上,已经清楚的写明 Asia/Shanghai CST-8
在 http://zh.wikipedia.org/wiki/UTC%2B8 上,也清楚的写明 uct+8 就是“中国大陆-北京时间”
所以我认为,这是一回事。
我实在弄不清楚的是,时差最多24小时。我发帖子的时候明明是2014年5月13日,但ntp更新过来的时间居然是2014年5月10日。继续百思不得其解中....

先把时间改对再同步吧。。时间差的太多ntp同步不了。

@windhunter
好像时间没有同步成功

是这样的,我这个刷了openwrt的路由器并没有内部电池。
启动后如果不联网的话,根本无法正确校准时间。
也就是说,路由器不能正常连接internet的话,启动后,其时间一定是1970-01-01
从目前的表现来看,时间已经被ntp同步过,但同步的结果不对.
我实在是找不到同步失败的原因.

ntpd是平滑同步 想立即同步 请ntpdate

@windhunter

没有内部电池但是有内部存储,即使是刚刷好的路由器其时间也不会是1970-01-1。
所以,同步失败才是真正的原因,ntp同步神马的失败是常有的事情。

是不是用了什么夏令时

试试 ntpd -q -n -d -p ntp.api.bz

[email&cat /etc/TZ
HKT-8
[email&cat /etc/config/system
config system
option hostname 'OpenWrt'
option zonename 'Asia/Hong Kong'
option timezone 'HKT-8'
option conloglevel '8'
option cronloglevel '8'
config timeserver 'ntp'
list server '0.openwrt.pool.ntp.org'
list server '1.openwrt.pool.ntp.org'
list server '2.openwrt.pool.ntp.org'
list server '3.openwrt.pool.ntp.org'
我的是这样的,可以正常同步时间

UTC+8和China Standard Time完全是两个概念……只是在目前阶段,二者的数值一致而已
先手工强制同步一下,然后ntpd负责保持

sudo ntpdate time.nist.gov

vmebeh说的没错。

谢谢,亲测有效

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服