如何检查NTP是否在Linux上调整了系统时间?


17

我有一台机器,我正在运行一些实时的东西遇到麻烦。我的一个领先是NTP守护进程可能已经移动了时间,导致错误的超时。

我怎样才能知道NTP守护进程是否确实移动了时间?任何日志?我确实看到/ var / log / messages中的NTP守护进程重启,但我不知道是否还应该进行时间调整。

澄清一下:事后我需要从日志中了解它。可能是调整时间后2天。运行命令以查看当前状态没有帮助。

Answers:


8

您可以使用ntpdc -c sysinfo命令查询ntpd状态。它返回类似于此的输出:

system peer:          0.0.0.0
system peer mode:     unspec
leap indicator:       11
stratum:              16
precision:            -20
root distance:        0.00000 s
root dispersion:      338.44917 s
reference ID:         [73.78.73.84]
reference time:       00000000.00000000  Thu, Feb  7 2036  8:28:16.000
system flags:         auth monitor ntp kernel stats
jitter:               0.000000 s
stability:            0.000 ppm
broadcastdelay:       0.003998 s
authdelay:            0.000000 s

4

drift文件(/ var / lib / ntp / drift)不会根据联系的时间服务器测量本地时间与ntpd计算的时间之间的差异。

相反,它是本地时钟的估计漂移(频率误差)(以ppm为单位)。该值每小时更新一次ntpd,并且不会随着时间的推移而减少。

据我所知,重新启动后ntpd使用该值来估计本地时钟的错误(即使机器断电,本地时钟也会运行)。

示例:文件内容:5机器已关闭1天(86400 s)5 ppm的86400为0.432 =>本地时钟为“未来”0.432 s

要点是: - ntpd现在可以在启动后立即对当地时间(-0.432秒)应用第一次近似校正 - ntpd立即知道,本地时钟有多错(在本例中:5 ppm)

(我不允许对Sirex的评论发表评论,所以我添加了一条新评论)


3

你应该在漂移文件中有一个值。它的位置将在你的/etc/ntp.conf中

例如:“driftfile / var / lib / ntp / drift”

这个文件用于记录你的时钟距离应该是多少,慢慢地ntp应该随着时间的推移降低这个值。 - 它不会一气呵成,因为这可能会导致系统上的时间戳问题。


这是好消息,谢谢。但是,经过一段时间后,这将是0,我将丢失我的信息。是不是ntp记录任何消息告诉我它完全没有?
n-alexander 2010年

3

ntpq -nc peers 将向所有同行展示您的同步状态。


2

对不起,这是一个老线程 - 希望我没有违反规则:)

在/etc/ntp.conf中,我有一行如下所示:

#statsdir /var/log/ntpstats/

描述说要取消注释此行以记录统计信息。我只是在我们的服务器上设置了ntp,所以我不确定它是什么记录,但我最终在这里寻找相同的信息,所以希望这将有助于其他人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.