zoukankan      html  css  js  c++  java
  • 在 Linux 下确认 NTP 是否同步的方法

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

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

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

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

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

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

    # 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 不可联系时。

    # 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 系统中的设置。

    # 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 跟踪状态。

    # 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 命令以显示有关当前时间源的信息。

    # 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中国 荣誉推出

  • 相关阅读:
    [转载]重构代码的7个阶段
    查看JDK源码
    敏捷结果30天之第七天:设定边界值和缓冲
    敏捷结果30天之第十一天:高效能、慢生活
    他们到底需要神马???——戏说“用户需求”
    敏捷结果30天之第一天:总体认识敏捷结果方法
    敏捷结果30天之第五天:使用热图标识出重要事情
    重构代码学习笔记一:重构的原则
    开发可统计单词个数的Android驱动程序(2)
    使用Android NDK和Java测试Linux驱动
  • 原文地址:https://www.cnblogs.com/linuxprobe-sarah/p/11032663.html
Copyright © 2011-2022 走看看