温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux如何查看ntp是否同步

发布时间:2022-11-08 10:15:28 来源:亿速云 阅读:604 作者:iii 栏目:建站服务器

Linux如何查看NTP是否同步

1. 引言

在Linux系统中,网络时间协议(NTP)用于同步系统时钟与网络上的时间服务器。确保系统时间准确对于许多应用程序和系统功能至关重要,尤其是在分布式系统、日志记录和安全审计中。本文将详细介绍如何在Linux系统中查看NTP是否同步,并提供相关的命令和工具。

2. NTP简介

NTP(Network Time Protocol)是一种用于同步计算机系统时钟的协议。它通过互联网或局域网与时间服务器通信,确保系统时间的准确性。NTP使用分层结构,每一层称为“stratum”,其中Stratum 0是最高精度的时间源,如原子钟,而Stratum 1是与Stratum 0直接同步的服务器。

3. 检查NTP服务状态

在查看NTP是否同步之前,首先需要确保NTP服务正在运行。不同的Linux发行版可能使用不同的NTP服务实现,如ntpdchronysystemd-timesyncd

3.1 使用systemctl检查服务状态

对于使用systemd的系统,可以使用systemctl命令来检查NTP服务的状态。

systemctl status ntpd

或者,如果使用chrony

systemctl status chronyd

如果服务正在运行,输出中会显示active (running)

3.2 使用service命令检查服务状态

对于不使用systemd的系统,可以使用service命令来检查NTP服务的状态。

service ntpd status

或者,如果使用chrony

service chronyd status

4. 查看NTP同步状态

一旦确认NTP服务正在运行,可以使用以下命令来查看NTP是否同步。

4.1 使用ntpq命令

ntpq是NTP的一个查询工具,可以用来查看NTP服务器的状态和同步情况。

ntpq -p

输出示例:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.example.com  .GPS.           1 u   42   64  377    0.123   -0.456   0.789
 ntp2.example.com  .INIT.          16 u    -   64    0    0.000    0.000   0.000
  • remote:NTP服务器的名称或IP地址。
  • refid:服务器参考的时钟源。
  • st:服务器的层级(stratum)。
  • t:服务器的类型(u表示单播,b表示广播)。
  • when:上次查询的时间(秒)。
  • poll:查询间隔(秒)。
  • reach:最近8次查询的成功率(八进制)。
  • delay:与服务器的延迟(毫秒)。
  • offset:与服务器的时间偏移(毫秒)。
  • jitter:时间偏移的抖动(毫秒)。

在输出中,*表示当前正在使用的NTP服务器,+表示备用的NTP服务器。

4.2 使用chronyc命令

如果使用chrony作为NTP服务,可以使用chronyc命令来查看同步状态。

chronyc tracking

输出示例:

Reference ID    : 192.168.1.1 (ntp1.example.com)
Stratum         : 2
Ref time (UTC)  : Thu Oct 12 12:34:56 2023
System time     : 0.000123456 seconds slow of NTP time
Last offset     : -0.000456789 seconds
RMS offset      : 0.000789123 seconds
Frequency       : 0.000 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay      : 0.012345678 seconds
Root dispersion : 0.023456789 seconds
Update interval : 64.0 seconds
Leap status     : Normal
  • Reference ID:当前同步的NTP服务器的IP地址或名称。
  • Stratum:服务器的层级。
  • Ref time (UTC):参考时间的UTC时间。
  • System time:系统时间与NTP时间的偏差。
  • Last offset:最后一次同步的时间偏移。
  • RMS offset:时间偏移的均方根值。
  • Frequency:系统时钟的频率偏差。
  • Residual freq:剩余频率偏差。
  • Skew:频率偏差的斜率。
  • Root delay:根延迟。
  • Root dispersion:根分散。
  • Update interval:更新间隔。
  • Leap status:闰秒状态。

4.3 使用timedatectl命令

timedatectlsystemd提供的一个工具,可以用来查看和设置系统时间和日期。

timedatectl status

输出示例:

      Local time: Thu 2023-10-12 12:34:56 UTC
  Universal time: Thu 2023-10-12 12:34:56 UTC
        RTC time: Thu 2023-10-12 12:34:56
       Time zone: UTC (UTC, +0000)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
  • Local time:本地时间。
  • Universal time:UTC时间。
  • RTC time:硬件时钟时间。
  • Time zone:时区。
  • NTP enabled:NTP是否启用。
  • NTP synchronized:NTP是否同步。
  • RTC in local TZ:硬件时钟是否使用本地时区。

5. 手动同步NTP

如果发现NTP没有同步,可以尝试手动同步NTP。

5.1 使用ntpdate命令

ntpdate是一个用于手动同步时间的工具。

ntpdate ntp1.example.com

5.2 使用chronyc命令

如果使用chrony,可以使用以下命令手动同步时间。

chronyc makestep

6. 常见问题排查

6.1 NTP服务未启动

如果NTP服务未启动,可以使用以下命令启动服务。

systemctl start ntpd

或者,如果使用chrony

systemctl start chronyd

6.2 防火墙阻止NTP通信

确保防火墙允许NTP通信。NTP使用UDP端口123。

iptables -A INPUT -p udp --dport 123 -j ACCEPT

6.3 NTP服务器不可达

检查NTP服务器是否可达。

ping ntp1.example.com

如果服务器不可达,可能需要更换NTP服务器。

7. 结论

在Linux系统中,确保NTP同步对于系统时间的准确性至关重要。通过使用ntpqchronyctimedatectl等工具,可以轻松查看NTP是否同步,并进行必要的调整。如果遇到问题,可以通过检查服务状态、防火墙设置和服务器可达性来进行排查。希望本文能帮助您更好地管理和维护Linux系统中的时间同步。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI