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