实战:Linux系统时间不同步的三种修复方法

今天分享一下时钟同步问题。

在日常运维工作中,我们经常会遇到 Linux 服务器时间不同步的问题。无论是系统日志乱序、定时任务错过执行时间,还是集群通信异常,时间问题都是隐藏的大坑。

本篇文章将手把手带你搞定 Linux 时间同步问题,分别覆盖 外网环境 和 内网(企业私有环境) 两大场景,附带推荐工具和配置示例,建议收藏!

场景一:外网环境

如果服务器可以访问公网 NTP 服务时,时间同步相对简单。

1. ntpdate:手动同步

适合临时性修复场景。

安装并执行:

复制
# Redhat/CentOS yum install ntpdate # Ubuntu/Debian sudo apt install ntpdate # 手动同步阿里云时间服务器 sudo ntpdate ntp.aliyun.com1.2.3.4.5.6.7.8.
优点:使用简单缺点:只同步一次,不会自动保持同步2. chronyd:持续同步

从 7版本起推荐使用 chrony 取代 ntpd,适用于长期运行的生产服务器。

配置步骤:

复制
# 安装并启动chrony服务 yum install chrony systemctl enable --now chronyd # 编辑配置文件 vim /etc/chrony.conf # 替换为阿里云 NTP server ntp.aliyun.com iburst # 注意:有些版本配置中server改为了pool # 重启服务 systemctl restart chronyd # 查看状态 chronyc tracking chronyc sources1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.

优点:持续后台同步、精度高、资源占用低

【温馨提示】rockylinux,openEuler,麒麟V10等操作系统都是跟Redhat系列配置差不多的

3.  systemd-timesyncd

Ubuntu 18.04+ 默认启用的时间同步服务。

开启自动同步并指定 NTP:

复制
sudo timedatectl set-ntp true # 可选:配置服务器地址 sudo vim /etc/systemd/timesyncd.conf [Time] NTP=ntp.aliyun.com sudo systemctl restart systemd-timesyncd1.2.3.4.5.6.7.8.

场景二:无法访问公网(内网企业环境)

在企业私有云、隔离网络或高安全性场景下,服务器常无法连接公网,这时就必须依赖内网部署的 NTP 服务器。

1. 替换为内网NTP地址

无论你使用哪种同步方式,都需要将公网地址替换为公司提供的内网地址,如果内部NTP是域名则设置为域名:

ntpdate:
复制
# 域名方式同步 ntpdate ntp.internal.company.com # IP地址方式 ntpdate 10.0.0.21.2.3.4.5.
chrony.conf :
复制
server ntp.internal.company.com iburst # 或者 server 10.0.0.2 iburst1.2.3.
systemd-timesyncd.conf :
复制
[Time] NTP=ntp.internal.company.com1.2.
2. 无法同步问题排查确保 UDP 123 端口未被防火墙或安全组阻断DNS 解析正常(或直接使用 IP)

可使用以下命令测试 NTP 是否正常返回时间:

复制
ntpdate -q ntp.internal.company.com # 或者直接ping IP地址1.2.
3. 设置正确时区

无论在哪种场景,时区设置都是确保系统时间准确的关键:

复制
# 设置为中国标准时间 timedatectl set-timezone Asia/Shanghai1.2.

阅读剩余
THE END