我安装了 NTP 并将其设置为每小时一次的 cron,但它显示的时间比我的手机和 PC 都显示的时间晚了 5 分钟。我有没有办法验证它是否正在尝试同步时间?
它正在与...同步。
pool.ntp.org ntp.ubuntu.com (或任何 ubuntu 网址)
答案1
您可以运行“ntpdate 0.us.pool.ntp.org”或任何您希望使用的服务器,以验证您是否能够同步。此命令的输出应显示远程主机上的服务器以及本地计算机上的差异。
如果您正在使用 ntpd,并且它作为守护进程运行,则需要先停止它。此外,如果您正在运行 ntpd,则不需要 cronjob,因为它会自行保持时间同步。
如果 ntpd 确实正在运行,则可能只是时间步进不够快。如果您当前的系统时间相差很大,则它不会进行巨大的时间跳跃来让您同步。
答案2
如果是服务器,请使用 ntpd。对于 ubuntu,请使用以下命令安装:
sudo aptitude install ntp
您可以通过程序来检查它ntpq
。使用方法如下:
user@myhost:~$ ntpq
ntpq> peer
remote refid st t when poll reach delay offset jitter
==============================================================================
europium.canoni 193.79.237.14 2 b 48 64 377 141.805 42.254 9.901
这说明它已与一台主机同步,并且与该主机相差约 42 毫秒。如果未同步,您可能会看到像 0 这样的值,这意味着它无法连接到您指定的主机。您还可能会看到一个巨大的偏移量;NTP 在看到太大的时间差时会感到害怕,因此您必须先使用 ntpdate 手动设置时钟,例如sudo ntpdate tick.usno.navy.mil
。
答案3
cronjob 是什么?除非它以 2&>/dev/null 或类似内容结尾,否则它应该每小时将一些输出通过电子邮件发送到顶部的 MAILTO=" 地址,或发送到 root(如果不存在)(尝试删除结尾部分以确保它是否存在)。
要验证它是否正在运行,请检查 /var/log/cron。