Linux 日志时间不对,常见原因和排查思路如下:
日志时间一般取自系统时间,如果系统时间错了,日志自然错。
检查:
date
timedatectl
可能原因:
解决:
# 设置时区(如中国)
timedatectl set-timezone Asia/Shanghai
# 开启 NTP 自动同步
timedatectl set-ntp true
# 手动同步(有 chrony / ntpdate)
ntpdate pool.ntp.org
# 或
chronyc -a makestep
日志显示时间和你本地时间差 8 小时,通常是时区问题。
检查:
timedatectl | grep "Time zone"
解决:
timedatectl set-timezone Asia/Shanghai
某些服务(如 rsyslog、journald、Docker、Kubernetes)默认用 UTC。
表现:
date 正确解决示例:
-e TZ=Asia/Shanghai
ls 看到的是文件修改时间,不是日志内容时间检查:
systemctl status chronyd
systemctl status ntpd
开启:
systemctl enable --now chronyd
查看:
hwclock
同步:
hwclock --systohc # 系统时间写回硬件
date → 系统时间对不对timedatectl → 时区对不对如果你愿意,可以告诉我:
/var/log/messages、journalctl、Docker、Nginx?)我可以直接帮你定位。