Linux 时钟同步配置:基础管理与 chrony 工具应用

一、 基础时间管理操作
1.1 时间与状态查看
使用 timedatectl
命令可直接查看系统当前的时间、时区设置及 NTP 同步状态,输出信息包括本地时间、UTC 时间、时区、是否启用 NTP 同步等。
1.2 时区配置
-
列出系统所有可用时区:
bashtimedatectl list-timezones
-
设置指定时区(以上海时区为例):
bashtimedatectl set-timezone "Asia/Shanghai"
2.1.3 手动修改系统时间
-
使用
timedatectl
命令修改:bashtimedatectl set-time "YYYY-MM-DD hh:mm:ss"
示例:
timedatectl set-time "2024-07-01 10:30:00"
-
或使用
date
命令直接设置:bashdate -s "YYYY-MM-DD hh:mm:ss"
示例:
date -s "2024-07-01 10:30:00"
二、 chrony 时间同步工具配置
chrony
是一款高效的网络时间同步工具,基于 UDP 协议(使用 323 端口)运行,由后台服务进程 chronyd
和命令行管理工具 chronyc
组成。需注意,chrony
与 ntpd
不可同时运行。
2.1 服务端配置(作为时间源)
-
安装 chrony:
bashyum -y install chrony
-
修改配置文件 :
编辑
/etc/chrony.conf
,添加以下配置:conflocal stratum 10 # 不同步外部时间,自身作为时间源(stratum 为层级标识) allow 172.16.30.0/24 # 允许 172.16.30.0/24 网段的主机同步本服务器时间
-
启动并设置开机自启:
bashsystemctl restart chronyd systemctl enable chronyd
-
配置防火墙规则 :
允许 NTP 服务通过防火墙(默认使用 123 端口):
bashfirewall-cmd --add-service=ntp --permanent firewall-cmd --reload
2.2 客户端配置(同步服务端时间)
-
安装 chrony:
bashyum -y install chrony
-
指定时间同步源 :
编辑
/etc/chrony.conf
,添加服务端地址:confserver 172.16.30.20 iburst # 向 172.16.30.20 服务器同步时间(iburst 表示快速初始同步)
-
重启服务:
bashsystemctl restart chronyd
-
验证同步状态:
-
查看时间同步源信息:
bashchronyc sources
-
查看同步源详细状态(如延迟、偏差):
bashchronyc sourcestats -v
-
-
持久化系统时间 :
将当前系统时间写入硬件时钟(防止重启后时间丢失):
bashhwclock -w