如何在 Linux 下确认 NTP 是否同步?

NTP 意即 网络时间协议 Network Time Protocol ,它通过网络同步计算机系统之间的时钟。NTP 服务器可以使组织中的所有服务器保持同步,以准确时间执行基于时间的作业。NTP 客户端会将其时钟与 NTP 服务器同步。

我们已经写了一篇关于 NTP 服务器和客户端安装和配置的文章。如果你想查看这些文章,请导航至以下链接。

我假设你已经使用上述链接设置了 NTP 服务器和 NTP 客户端。现在,如何验证 NTP 设置是否正常工作?

Linux 中有三个命令可用于验证 NTP 同步情况。详情如下。在本文中,我们将告诉您如何使用所有这些命令验证 NTP 同步。

  • ntpq:ntpq 是一个标准的 NTP 查询程序。
  • ntpstat:显示网络世界同步状态。
  • timedatectl:它控制 systemd 系统中的系统时间和日期。

方法 1:如何使用 ntpq 命令检查 NTP 状态?

ntpq 实用程序用于监视 NTP 守护程序 ntpd 的操作并确定性能。

该程序可以以交互模式运行,也可以使用命令行参数进行控制。它通过向服务器发送多个查询来打印出连接的对等项列表。如果 NTP 正常工作,你将获得类似于下面的输出。

1
2
3
4
5
# ntpq -p

remote refid st t when poll reach delay offset jitter
==============================================================================
*CentOS7.2daygee 133.243.238.163 2 u 14 64 37 0.686 0.151 16.432

细节:

  • -p:打印服务器已知的对等项列表以及其状态摘要。

方法 2:如何使用 ntpstat 命令检查 NTP 状态?

ntpstat 将报告在本地计算机上运行的 NTP 守护程序(ntpd)的同步状态。如果发现本地系统与参考时间源保持同步,则 ntpstat 将报告大致的时间精度。

ntpstat 命令根据 NTP 同步状态返回三种状态码。详情如下。

  • 0:如果时钟同步则返回 0。
  • 1:如果时钟不同步则返回 1。
  • 2:如果时钟状态不确定,则返回 2,例如 ntpd 不可联系时。
1
2
3
4
5
# ntpstat

synchronised to NTP server (192.168.1.8) at stratum 3
time correct to within 508 ms
polling server every 64 s

方法 3:如何使用 timedatectl 命令检查 NTP 状态?

timedatectl 命令用于查询和更改系统时钟及其在 systmed 系统中的设置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# timedatectl

# timedatectl status

Local time: Thu 2019-05-30 05:01:05 CDT
Universal time: Thu 2019-05-30 10:01:05 UTC
RTC time: Thu 2019-05-30 10:01:05
Time zone: America/Chicago (CDT, -0500)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2019-03-10 01:59:59 CST
Sun 2019-03-10 03:00:00 CDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2019-11-03 01:59:59 CDT
Sun 2019-11-03 01:00:00 CST

更多技巧

Chrony 是一个 NTP 客户端的替代品。它可以更快地同步系统时钟,时间精度更高,对于一直不在线的系统尤其有用。

chronyd 较小,它使用较少的内存,只在必要时才唤醒 CPU,这样可以更好地节省电能。即使网络拥塞较长时间,它也能很好地运行。

你可以使用以下任何命令来检查 Chrony 状态。

检查 Chrony 跟踪状态。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# chronyc tracking

Reference ID : C0A80105 (CentOS7.2daygeek.com)
Stratum : 3
Ref time (UTC) : Thu Mar 28 05:57:27 2019
System time : 0.000002545 seconds slow of NTP time
Last offset : +0.001194361 seconds
RMS offset : 0.001194361 seconds
Frequency : 1.650 ppm fast
Residual freq : +184.101 ppm
Skew : 2.962 ppm
Root delay : 0.107966967 seconds
Root dispersion : 1.060455322 seconds
Update interval : 2.0 seconds
Leap status : Normal

运行 sources 命令以显示有关当前时间源的信息。

1
2
3
4
5
6
# chronyc sources

210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* CentOS7.2daygeek.com 2 6 17 62 +36us[+1230us] +/- 1111ms

via: https://www.2daygeek.com/check-verify-ntp-sync-is-working-or-not-in-linux-using-ntpq-ntpstat-timedatectl/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:wxy 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出


如何在 Linux 下确认 NTP 是否同步?
https://linuxcat.top/article-10951-1.html
作者
Magesh Maruthamuthu
发布于
2019年6月8日
许可协议
CC-BY-NC