插件窝 干货文章 linux怎么查看ntp是否同步

linux怎么查看ntp是否同步

同步 表示 检查 方法 302    来源:    2025-05-02

在Linux系统中,可以通过以下方法检查NTP(Network Time Protocol)是否正常同步:


方法1:使用ntpq命令(旧版NTP)

ntpq -p

输出说明: - * 表示当前正在使用的同步源。 - + 表示备选的同步源。 - 如果第一列有*+,表示已同步;若为空或显示x,则同步异常。


方法2:使用timedatectl命令(systemd系统,如Ubuntu 16.04+/CentOS 7+)

timedatectl status

关键字段: - NTP synchronized: yes 表示已同步。 - System clock synchronized: yes 同样表示同步正常。


方法3:使用chronyc(Chrony服务)

chronyc tracking
chronyc sources -v

输出说明: - 在 tracking 结果中,检查 Reference ID 是否为有效的NTP服务器。 - 在 sources 结果中,^* 标记的服务器表示当前同步源。


方法4:检查NTP服务状态

# 旧版ntpd
systemctl status ntpd

# 或新版chronyd
systemctl status chronyd

关键点:服务状态应为 active (running),且日志无错误。


方法5:查看系统日志

journalctl -u ntpd -u chronyd --since "1 hour ago"

或检查 /var/log/syslog//var/log/messages,搜索 ntpchrony 相关错误。


手动强制同步测试

# 旧版ntpd
ntpd -gq

# 或chrony
chronyc -a makestep

常见问题排查

  1. 防火墙阻止:确保UDP端口123开放。 bash sudo ufw allow 123/udp
  2. NTP服务器配置:检查 /etc/ntp.conf/etc/chrony.conf 中的服务器地址是否有效。
  3. 时间差过大:若时间偏差过大,NTP可能拒绝同步。手动校正: bash sudo date -s "YYYY-MM-DD HH:MM:SS"

总结

  • 优先使用 timedatectlchronyc 查看状态。
  • 若无输出或状态异常,检查服务、日志和网络配置。

根据你的系统和服务(ntpd/chrony)选择对应命令即可快速诊断。