如何在 CentOS 7 和 Rocky Linux 9.4 上同步系统时间

212 阅读4分钟

前言

准确的系统时间对于服务器和应用程序的正常运行至关重要。时间同步不仅影响日志记录的准确性,还可能影响安全协议、数据库事务和分布式系统的协调。在本文中,我们将分别介绍如何在 CentOS 7 上使用 ntpdate 进行时间同步,以及在 Rocky Linux 9.4 上使用 chrony 进行时间同步。

在 CentOS 7 上使用 ntpdate 同步系统时间

ntpdate 是一个传统的命令行工具,用于手动同步系统时间。虽然在更高版本的 Linux 发行版中逐渐被弃用,但在 CentOS 7 上仍然可以使用。以下是详细步骤:

1. 安装 ntpdate

首先,通过 yum 包管理器安装 ntpdate

sudo yum install -y ntpdate

2. 同步系统时间

使用 ntpdate 命令与阿里云的 NTP 服务器进行时间同步:

sudo ntpdate ntp.aliyun.com

3. 同步硬件时间

为了确保硬件时钟与系统时钟一致,执行以下命令:

sudo hwclock --systohc

4. 设置时间同步的定时任务

为了实现定期的时间同步,可以使用 cron 设置定时任务。以下命令将每分钟同步一次时间:

(crontab -l 2>/dev/null; echo "*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com") | crontab -

注意事项:

  • 频繁使用 ntpdate 进行时间同步可能会增加系统负载。
  • ntpdate 通常用于一次性时间同步,不建议长时间进行频繁同步。
  • 推荐在可能的情况下升级到使用 chrony 或其他更现代的时间同步工具。

在 Rocky Linux 9.4 上使用 chrony 同步系统时间

chrony 是一个现代化的时间同步工具,取代了传统的 ntpntpdate。它在处理网络波动、系统休眠等情况下表现更加稳定和高效。在 Rocky Linux 9.4 上,推荐使用 chrony 进行时间同步。

1. 安装 chrony

使用 dnf 包管理器安装 chrony

sudo dnf install -y chrony

2. 配置 chrony

编辑 chrony 的配置文件 /etc/chrony.conf,将其配置为使用阿里云的 NTP 服务器:

sudo vi /etc/chrony.conf

在文件中找到并修改以下行:

server ntp4.aliyun.com iburst

确保注释或删除其他不需要的 server 条目,以避免与阿里云的服务器冲突。

3. 启动并启用 chronyd 服务

启动 chronyd 服务并设置为开机自启:

sudo systemctl enable chronyd
sudo systemctl start chronyd

4. 立即同步系统时间

为了立即进行时间同步,执行以下命令:

sudo chronyc makestep

该命令会立即校正系统时间,而不等待下一个同步周期。

5. 验证时间同步状态

使用以下命令检查 chrony 的同步状态:

chronyc tracking
chronyc sources
  • chronyc tracking 显示系统时间的跟踪信息,包括偏差、漂移率等。
  • chronyc sources 列出当前使用的 NTP 服务器及其状态。

示例输出:

# chronyc tracking
Reference ID    : D4E1A8B6 (ntp4.aliyun.com)
Stratum         : 3
Ref time (UTC)  : Sat Apr 27 12:34:56 2024
System time     : 0.000123456 seconds fast of NTP time
Last offset     : +0.000123456 seconds
RMS offset      : 0.000123456 seconds
Frequency       : 10.123 ppm slow
Residual freq   : +0.000 ppm
Skew            : 0.001 ppm
Root delay      : 0.025 seconds
Root dispersion : 0.012 seconds
Update interval : 64.0 seconds
Leap status     : Normal
# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp4.aliyun.com               3   6    17    64    +0.000123456

^* 表示当前选中的同步源。

结论

时间同步是维护服务器和应用程序稳定运行的重要环节。在 CentOS 7 上,虽然可以使用 ntpdate 进行时间同步,但其功能相对有限,且可能增加系统负载。相比之下,chrony 提供了更高效、更可靠的时间同步解决方案,尤其适用于现代 Linux 发行版如 Rocky Linux 9.4。

推荐实践:

  • 在较新的 Linux 发行版上,如 Rocky Linux 9.4,优先选择使用 chrony 进行时间同步。
  • 定期检查时间同步状态,确保系统时间的准确性。
  • 避免频繁手动同步时间,利用现代工具的自动化管理功能,以减少系统负载和潜在的时间漂移问题。

通过正确配置和管理时间同步工具,您可以确保服务器和应用程序在正确的时间基础上稳定运行,避免因时间偏差引发的各种潜在问题。


如果您在配置过程中遇到任何问题或有任何疑问,欢迎在评论区留言讨论!