我正在运行Ubuntu20.04并使用timedatectl和timesyncd。如果启用NTP同步,则将本地和通用日期设置为2058年。
如果我手动检查(使用python),那么我使用的NTP服务器是否正常工作。这种情况以前曾经发生过,但现在又在发生了。
知道出什么问题了吗?
Local time: mié 2058-05-22 01:16:55 CEST
Universal time: mar 2058-05-21 23:16:55 UTC
RTC time: sáb 2022-05-21 22:21:03
Time zone: Europe/Madrid (CEST, +0200)
System clock synchronized: no
NTP service: active
RTC in local TZ: no
/etc/systemd/timesyncd.conf
[Time]
NTP=pool.ntp.org ntp.ubuntu.com
#FallbackNTP=ntp.ubuntu.com
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048
发布于 2022-05-22 14:45:35
我设法找到并解决了这个问题。把它发到这里给任何有同样问题的人。
我首先检查了的日志,发现连接到ntp服务器正在超时,日期/时间被设置为最后记录的时间戳。
> systemctl status systemd-timesyncd
may 22 00:31:38 falcon systemd[1]: Starting Network Time Synchronization...
may 22 00:31:38 falcon systemd-timesyncd[73828]: System clock time unset or jumped backwards, restoring from recorded timestamp: Wed 2058-05-22 01:16:53 CEST
may 22 01:16:53 falcon systemd[1]: Started Network Time Synchronization.
may 22 01:17:04 falcon systemd-timesyncd[73828]: Timed out waiting for reply from 91.189.91.157:123 (ntp.ubuntu.com).
我试着使用python从ntp服务器获取时间,发现它在前面的时间设置中失败了。手动固定时间允许获取当前时间。这意味着我无法连接到ntp服务器,因为我的日期/时间被设置为记录的时间戳年份2058,这就阻止了进一步的同步。
import ntplib
from time import ctime
c = ntplib.NTPClient()
response = c.request('ntp.ubuntu.com')
print(ctime(response.tx_time))
然后,我检查了时间同步文档,发现记录的时间作为最后一次修改的时间保存在/var/lib/systemd/timesync/clock
中。
因此,我重置这个文件修改和上次访问日期。
touch -a -m -t 202205212221 /var/lib/systemd/timesync/clock
然后,我禁用了ntp,手动设置了时间,然后重新启动timesyncd,所有这些都开始工作了。
https://askubuntu.com/questions/1409986
复制相似问题