在Linux系统中,可以通过以下方法检查NTP(Network Time Protocol)是否正常同步:
ntpq命令(旧版NTP)ntpq -p
输出说明:
- * 表示当前正在使用的同步源。
- + 表示备选的同步源。
- 如果第一列有*或+,表示已同步;若为空或显示x,则同步异常。
timedatectl命令(systemd系统,如Ubuntu 16.04+/CentOS 7+)timedatectl status
关键字段:
- NTP synchronized: yes 表示已同步。
- System clock synchronized: yes 同样表示同步正常。
chronyc(Chrony服务)chronyc tracking
chronyc sources -v
输出说明:
- 在 tracking 结果中,检查 Reference ID 是否为有效的NTP服务器。
- 在 sources 结果中,^* 标记的服务器表示当前同步源。
# 旧版ntpd
systemctl status ntpd
# 或新版chronyd
systemctl status chronyd
关键点:服务状态应为 active (running),且日志无错误。
journalctl -u ntpd -u chronyd --since "1 hour ago"
或检查 /var/log/syslog//var/log/messages,搜索 ntp 或 chrony 相关错误。
# 旧版ntpd
ntpd -gq
# 或chrony
chronyc -a makestep
bash
sudo ufw allow 123/udp/etc/ntp.conf 或 /etc/chrony.conf 中的服务器地址是否有效。bash
sudo date -s "YYYY-MM-DD HH:MM:SS"timedatectl 或 chronyc 查看状态。根据你的系统和服务(ntpd/chrony)选择对应命令即可快速诊断。