Linux服务器配置Chron实现同步时间的详细教程

 更新时间:2025年12月03日 09:31:18   作者:爱宇阳  
在生产环境中,时间准确性至关重要,无论是应用日志、数据库事务还是分布式系统的协调,都依赖于统一的时间,因此,配置 自动时间同步 是运维的基础工作之一,本文将详细介绍如何在 Linux 服务器上使用 Chrony 来实现高精度的时间同步,需要的朋友可以参考下

引言

在生产环境中,时间准确性至关重要。无论是应用日志、数据库事务还是分布式系统的协调,都依赖于统一的时间。如果服务器时间漂移,可能导致:

  • 日志顺序错乱,难以排查问题
  • 数据库事务冲突或报错
  • 分布式系统节点间出现不一致

因此,配置 自动时间同步 是运维的基础工作之一。本文将详细介绍如何在 Linux 服务器上使用 Chrony 来实现高精度的时间同步。

一、为什么选择 Chrony

Chrony 是 NTP 的现代替代方案,具有以下优势:

  • 启动快:能在系统启动后迅速校准时间
  • 精度高:适合虚拟机和容器环境
  • 稳定性强:能处理网络延迟和抖动
  • 配置简单:支持多源冗余,自动选择最佳时间源

二、安装 Chrony

在 CentOS/RHEL 系统中:

sudo yum install chrony -y
sudo systemctl enable chronyd --now

在 Ubuntu/Debian 系统中:

sudo apt install chrony -y
sudo systemctl enable chrony --now

三、配置国内 NTP 源

编辑配置文件 /etc/chrony.conf,添加国内常用的公共 NTP 服务器:

# 国家授时中心
server ntp.ntsc.ac.cn iburst

# 阿里云
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst

# 腾讯云
server time1.cloud.tencent.com iburst
server time2.cloud.tencent.com iburst

# 教育网(可选)
server s1b.time.edu.cn iburst
server ntp.sjtu.edu.cn iburst

# 保留默认配置作为备用
pool 2.centos.pool.ntp.org iburst

driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony

修改完成后,重启服务:

sudo systemctl restart chronyd

四、验证同步状态

查看系统时间状态:

timedatectl status

输出中应看到:

System clock synchronized: yes
NTP service: active

查看 Chrony 同步详情:

chronyc tracking

关键指标:

  • System time:偏差应在毫秒或微秒级
  • Leap status:应为 Normal

查看时间源:

chronyc sources -v

输出中 ^* 表示当前正在使用的最佳源,^+ 表示备用源。

五、同步硬件时钟 (RTC)

避免重启后时间漂移:

sudo hwclock --systohc

六、应用层时区统一

确保数据库和应用层时间一致:

MySQL

SHOW VARIABLES LIKE '%time_zone%';
SET GLOBAL time_zone = '+8:00';

PHP (php.ini):

date.timezone = Asia/Shanghai

七、最佳实践

  • 配置 至少 3~5 个国内源,保证冗余。
  • 保留一个国际源作为备用。
  • 所有服务器统一时区 Asia/Shanghai
  • 定期巡检:
chronyc tracking
timedatectl status

八、总结

通过以上配置,你的 Linux 服务器就能实现 自动时间同步,误差维持在微秒到毫秒级别。这样不仅能保证日志和数据库的一致性,还能为分布式系统提供稳定的时间基准。

以上就是Linux服务器配置Chron实现同步时间的详细教程的详细内容,更多关于Linux Chron同步时间的资料请关注脚本之家其它相关文章!

相关文章

  • Ubuntu下安装和卸载软件的方法分享

    Ubuntu下安装和卸载软件的方法分享

    这篇文章主要介绍了Ubuntu下安装和卸载软件的方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友下面来一起看看吧。
    2017-03-03
  • 在Ubuntu22.04上使用GitLab和Jenkins部署CI/CD实践

    在Ubuntu22.04上使用GitLab和Jenkins部署CI/CD实践

    本文详细介绍了在Ubuntu 22.04上使用GitLab和Jenkins部署CI/CD的完整过程,包括环境准备、GitLab和Jenkins的安装与配置、案例实战-Spring Boot应用的CI/CD流程,以及故障排除和高级配置
    2026-01-01
  • Windows与Linux环境下的高性能负载均衡教程

    Windows与Linux环境下的高性能负载均衡教程

    这篇文章主要介绍了Windows与Linux环境下的高性能负载均衡教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Linux文件目录结构(小白版)

    Linux文件目录结构(小白版)

    这篇文章主要介绍了Linux文件目录结构(小白版),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 浅析Linux中使用nohup及screen运行后台任务的示例和区别

    浅析Linux中使用nohup及screen运行后台任务的示例和区别

    这篇文章主要介绍了Linux中使用nohup及screen运行后台任务的示例和区别,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Linux gzip命令压缩文件实现原理及代码实例

    Linux gzip命令压缩文件实现原理及代码实例

    这篇文章主要介绍了Linux gzip命令压缩文件实现原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • centOS7下载MySQL8版本方式

    centOS7下载MySQL8版本方式

    文章详细介绍了在Linux系统上下载、安装和配置MySQL的步骤,包括使用wget下载MySQL安装包、安装MariaDB、初始化MySQL、启动MySQL、查看运行状态、修改root密码、远程授权和防火墙配置等,适合初学者参考和实践
    2026-03-03
  • centos 6.X升级ffmpeg包步骤详解

    centos 6.X升级ffmpeg包步骤详解

    众所周知FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。之前公司已经安装了ffmpeg包,但因为时间较久,所以最近打算升级下,所以这篇文章就记录了在centos 6.X升级ffmpeg包的详细步骤,下面来一起看看吧。
    2016-11-11
  • Ubuntu安装scrcpy完成手机投屏和控制(Ubuntu用QQ微信的另一种方法)

    Ubuntu安装scrcpy完成手机投屏和控制(Ubuntu用QQ微信的另一种方法)

    这篇文章主要介绍了Ubuntu安装scrcpy手机投屏和控制(Ubuntu用QQ微信的另一种方法),这样的话不用频繁在键盘和手机间切换了 ,需要的朋友可以参考下
    2019-10-10
  • Linux tee命令使用详解

    Linux tee命令使用详解

    这篇文章主要介绍了Linux tee命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论