一、时间同步服务

1、概念

在 Linux 系统中,时间同步服务用于确保系统时钟与标准时间源保持一致,防止因硬件时钟误差或时区配置错误导致的时间偏差。

时间同步对以下场景至关重要:

  • 日志一致性:多台服务器日志时间对齐,便于故障排查。

  • 安全协议:Kerberos、SSL证书验证等依赖精确时间。

  • 分布式系统:数据库集群、区块链节点等需严格时间同步。

  • 定时任务:确保 cron 或 systemd timer 按计划执行。

2、常见时间同步服务

工具 特点 适用场景
NTP (Network Time Protocol) 传统时间同步协议,稳定但配置复杂,需配合 ntpd 守护进程。 需要高精度同步的老旧系统。
Chrony 现代替代方案,更快收敛时间,更适应网络波动,支持间歇性连接。 大多数现代 Linux 发行版(默认选型)。

二、系统时间及时区的管理(timedatectl)

1、命令

(1)timedatectl的名词解释

timedatectl

命令输入后,各名词的解释:

(2) 关闭时间系统锁(System clock synchronized)

systemctl stop chronyd.service

示例 

 (3)修改时间

1)先创建一个监视器方便观察时间修改变化
watch -n 1 timedatectl

示例 

修改前的时间:

2)timedatectl set-time

设置时间命令

timedatectl set-time "2026-11-11 11:11:11"

示例

3)timedatectl list-timezones

列出时间区列表

timedatectl list-timezones

 示例

4) timedatectl set-timezone 

设置时间区

 timedatectl set-timezone "Asia/Amman"

示例

 5)timedatectlset-local-rtc

切换硬件时钟(RTC)模式

将硬件时钟设置为本地时间(常用于 Windows 双系统)
timedatectl set-local-rtc 1

将硬件时钟设置为 UTC(推荐用于服务器)
timedatectl set-local-rtc 0

 

三、chrony相关命令

(1) 设置同步时间

打开/etc/chrony.conf

vim /etc/chrony.conf

示例 

打开后:

重启 chronyd.service 服务

systemctl restart chronyd.service

示例

 改完重启后过一会,时间就会恢复正常

(2)部署本地时间源

这部分涉及两台主机(虚拟机),请自行添加

进入/etc/chrony.conf

vim /etc/chrony.conf

 示例

 找到此两行,并按图来修改

名词解释

allow:指定一台主机、子网,或者网络以允许访问本服务器 

local stratum 10: 即使server指令中时间服务器不可用

之后重新打开这个服务

 systemctl start chronyd.service

示例


用此命令用来看接口状况

 netstat -antlupe | grep chronyd

示例


设置时间来测试

date 111111112026.11

示例


再次进入/etc/chrony.conf文件

vim /etc/chrony.conf

示例

进入以后:


重启服务

systemctl restart chronyd.service

示例


还需要在服务器端关闭火墙

systemctl stop firewalld

示例

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐