当前位置:首页 > Linux > 正文

如何同步linux的时间同步

ntpdatechrony 工具与 NTP 服务器同步;若多机集群可用 PTP 协议;单次校正用 `

Linux系统中,时间同步至关重要,它能有效避免因系统时钟漂移引发的一系列问题,如分布式系统中的数据不一致、日志记录混乱以及任务调度失误等,以下是几种常见且实用的Linux时间同步方法及其详细操作步骤:

如何同步linux的时间同步  第1张

NTP(Network Time Protocol)同步方法

  1. 安装NTP服务
    • Debian/Ubuntu系统:sudo apt update && sudo apt install ntp
    • CentOS/RHEL系统:sudo yum install ntp
  2. 启动并启用NTP服务
    • 启动服务:sudo systemctl start ntpd
    • 设置开机自启:sudo systemctl enable ntpd
  3. 配置NTP客户端:编辑/etc/ntp.conf文件,添加或修改以下内容指定时间服务器(例如使用公共NTP服务器):
      server 0.centos.pool.ntp.org
      server 1.centos.pool.ntp.org
      server 2.centos.pool.ntp.org
  4. 检查同步状态:执行命令ntpq -p查看NTP服务的同步情况,若显示各个服务器的状态为“”或其他稳定标识,则表明已成功同步。

Chrony同步方法

  1. 安装Chrony软件包
    • Debian/Ubuntu系统:sudo apt update && sudo apt install chrony
    • CentOS/RHEL系统:sudo yum install chrony
  2. 启动并启用Chrony服务
    • 启动服务:sudo systemctl start chronyd
    • 设置开机自启:sudo systemctl enable chronyd
  3. 配置Chrony参数:打开并编辑/etc/chrony/chrony.conf文件,可添加如下配置以实现快速初始同步(iburst选项):
      server 0.centos.pool.ntp.org iburst
      server 1.centos.pool.ntp.org iburst
      server 2.centos.pool.ntp.org iburst
  4. 监测同步效果
    • 查看跟踪信息:chronyc tracking
    • 列出可用的时间源:chronyc sources

timedatectl命令行工具

  1. 查看当前时间和时区设置:直接输入timedatectl即可获取详细信息。
  2. 开启NTP自动同步功能:运行命令sudo timedatectl set-ntp true,此操作会使系统借助Systemd内置的功能定期与默认的NTP服务器进行时间校准。
  3. 调整时区
    • 列举所有支持的时区:timedatectl list-timezones
    • 设定特定时区,如设为上海时区:sudo timedatectl set-timezone Asia/Shanghai

手动设置时间

  1. 查看当前系统时间:使用date命令。
  2. 修改系统时间:通过命令sudo date --set="YYYY-MM-DD HH:MM:SS"来指定新的日期和时间,设置为2024年11月29日10点整:sudo date --set="2024-11-29 10:00:00"
  3. 更新硬件时钟:为确保重启后时间仍然准确,需将系统时间写入硬件时钟(RTC),命令为sudo hwclock --systohc,这样,下次启动时就会从硬件时钟读取正确的时间。

不同场景下的选择建议

方法 优势 适用场景
NTP 传统成熟,适合网络稳定的环境 企业数据中心、服务器集群、内网设备等长期稳定运行的环境
Chrony 更快更精准,尤其在网络不稳定时表现出色;支持快速初始同步 网络波动较大的环境、虚拟化/容器化环境、对精度要求高的应用场景
timedatectl 基于systemd,配置简便,适合现代Linux发行版 使用systemd管理的Linux系统,特别是Ubuntu 18.04+等新版本
手动设置 临时应急使用 无法自动联网的特殊情况下进行一次性调整

相关问答FAQs

  1. :为什么有时候用ntpdate同步后过一段时间又会偏离?

    • :因为ntpdate只是单次同步,没有持续守时机制,推荐使用Chrony或NTPD这类带有守护进程的服务,它们会不断监测并校正时间偏差。
  2. :在内网环境中如何实现时间同步?

    • :在内网中搭建本地NTP服务器作为层级结构中的一级节点,其他机器指向该内部服务器进行同步,同时确保防火墙允许UDP 123端口通信,并且DNS解析正常(或者直接使用IP地址)。

通过以上方法,您可以根据实际需求选择合适的方式来保持Linux系统的时钟精准可靠,无论是互联网环境下的自由访问还是受限的内部网络,都有

0