服务器时间差几分钟就出问题:用 timedatectl 对时与检查 NTP 同步的三个命令

举报
yd_226757564 发表于 2026/11/03 10:06:00 2026/11/03
【摘要】 服务器时间差几分钟会引发证书、定时任务和日志对齐问题。本文用 timedatectl、chronyc 与时区检查三步,快速确认时间是否同步、时间源是否正常。

服务器时间差几分钟,表面上只是显示不对,实际上会连锁出问题:HTTPS 证书校验可能失败、定时任务在错误的时间执行、日志时间戳对不上、数据库主从复制或令牌过期判断也可能异常。遇到这类故障,先不要急着重启服务,先确认时间本身是否准确、是否在同步。

第一步:看当前时间和同步状态

timedatectl

重点看三行:Local time 是当前本地时间,System clock synchronized 是否为 yes,NTP service 是否为 active。如果显示 no 或 inactive,说明系统根本没有在对时,后面的排查都要围绕这一点展开。

第二步:确认 NTP 服务是否真的在工作

timedatectl show-timesync --all

或者在较新的系统上用:

chronyc tracking
chronyc sources -v

chronyc tracking 会显示当前参考时间源、系统时间偏移量(System time)和上次校正时间;偏移量如果长期停留在秒级甚至分钟级,就说明同步没有生效。sources 则能看到各个时间源的状态,* 表示当前正在使用的源,^? 或长时间无更新的源往往是网络不通或配置错误。

第三步:手动触发一次对时并复查

如果服务是开启的但时间仍不准,可以先重启时间同步服务,再复查:

sudo systemctl restart systemd-timesyncd
# 使用 chrony 的系统则执行:
# sudo systemctl restart chronyd
sleep 5
timedatectl

重启后等待几秒再看 timedatectl,System clock synchronized 应变为 yes,且 Local time 与标准时间基本一致。如果仍然是 no,接下来再查防火墙或安全组是否放行了 UDP 123 端口、NTP 服务器地址是否可达,而不是反复重启业务服务。

一个容易踩的坑:时区错了,时间看起来也错

timedatectl 里 Time zone 如果不是 Asia/Shanghai,本地时间就会差几个小时,但这不是同步问题。确认并修正时区:

timedatectl list-timezones | grep Shanghai
sudo timedatectl set-timezone Asia/Shanghai

改完时区后,date 输出应立即变为北京时间,再结合前面的同步检查确认一次。

小结

时间故障的排查顺序建议固定下来:先 timedatectl 看状态,再用 chronyc 或 show-timesync 看时间源与偏移量,最后重启同步服务并复查;时区问题单独确认。按这个顺序走,大多数“时间差几分钟”的问题都能在几分钟内定位,不用靠重启业务服务碰运气。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。