【Linux】CentOS 8:使用 Chrony 服务器时间精确校准

CentOS 运维避坑实战

CentOS7.9 安装 Python3.8.16 后 yum 报错,快速修复方案

👉 更多精彩内容,尽在个人主页!点击头像,查看更多~ 📚


简介

在管理 Linux 服务器时,保持准确的时间至关重要。无论是日志记录、定时任务还是安全审计,时间偏差都可能导致问题甚至安全隐患。

本文将引导您完成在 CentOS 8 系统上,使用其默认的 Chrony 服务,将服务器时间精准校准为 北京时间 (Asia/Shanghai) 的全过程。

为什么选择 Chrony?

相较于传统的 ntpd,Chrony 在性能和功能上更具优势,尤其适合于:

  • 不常在线或网络连接不稳定的系统
  • 需要频繁调整时间的虚拟机环境
  • 对时间精度要求更高的场景

因此,CentOS 8 默认集成了 Chrony 作为其时间同步解决方案。

操作步骤

请按照以下清晰的步骤进行配置:

✅ 步骤 1:确认 Chrony 已安装并运行

首先,确保 Chrony 包已安装并设置为开机自启且正在运行。在终端执行以下命令:

# 安装 Chrony (如果尚未安装)
sudo dnf install -y chrony

# 启用并立即启动 Chrony 服务
sudo systemctl enable --now chronyd

说明:--now 参数用于在启用服务的同时立即启动它。

✅ 步骤 2:设置系统时区为 Asia/Shanghai

接下来,我们需要将系统的本地时区设置为北京时间。

# 查看当前系统时间和时区设置
timedatectl

# 设置时区为上海 (即北京时间 UTC+8)
sudo timedatectl set-timezone Asia/Shanghai

# 再次查看,确认更改已生效
timedatectl

执行后,在输出信息中应能看到类似如下内容,表明时区已成功修改:

Local time: Sat 2025-12-06 15:30:45 CST
Universal time: Sat 2025-12-06 07:30:45 UTC
RTC time: Sat 2025-12-06 07:30:45
Time zone: Asia/Shanghai (CST, +0800)
...

重要提示: Linux 系统内核始终以协调世界时 (UTC) 运行。timedatectl 和其他工具会根据设定的时区自动转换并显示本地时间。

✅ 步骤 3:配置 Chrony 使用国内 NTP 服务器(可选但推荐)

为了获得更快、更稳定的时间同步效果,建议将 Chrony 的上游时间服务器更换为国内的公共 NTP 服务器。

  1. 编辑 Chrony 的主配置文件:
sudo vi /etc/chrony.conf
  1. 找到文件中的默认 server 行(通常类似 server 0.centos.pool.ntp.org iburst),在其前面加上 # 号将其注释掉。
  2. 添加以下几行,指定国内常用的 NTP 服务器地址:
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# server 0.centos.pool.ntp.org iburst
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst

# --- 使用国内 NTP 服务器 ---
server ntp.aliyun.com iburst
server cn.ntp.org.cn iburst
server time1.cloud.tencent.com iburst
  1. 保存文件并退出编辑器 (:wq in Vi/Vim)。

✅ 步骤 4:重启 Chrony 服务并检查同步状态

为了让新的配置生效,需要重启 Chrony 服务。

# 重启 Chronyd 服务以应用新配置
sudo systemctl restart chronyd

(可选)如果您希望立即强制进行一次时间同步(通常不需要,Chrony 会自动处理),可以执行:

# 强制立即同步时间 (谨慎使用)
# sudo chronyc makestep

然后,检查 Chrony 的同步状态和所使用的源:

# 查看时间源信息及同步状态
chronyc sources -v

在输出结果中,寻找带有 ^* 标记的那一行。这个标记表示 Chrony 已经成功选择了该服务器作为主要时间源并正在进行同步。

✅ 步骤 5:最终验证系统时间

最后一步是简单地检查系统当前显示的时间是否已经是正确的北京时间。

# 显示当前系统日期和时间
date

输出应类似于:

Sat Dec  6 15:30:45 CST 2025

其中 CST 代表中国标准时间 (China Standard Time),即 UTC+8。

CentOS 运维避坑实战

CentOS7.9 安装 Python3.8.16 后 yum 报错,快速修复方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青柠代码录

您的鼓励是我最大的动力 '◡'

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值