前言
准确的系统时间对于服务器和应用程序的正常运行至关重要。时间同步不仅影响日志记录的准确性,还可能影响安全协议、数据库事务和分布式系统的协调。在本文中,我们将分别介绍如何在 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
是一个现代化的时间同步工具,取代了传统的 ntp
和 ntpdate
。它在处理网络波动、系统休眠等情况下表现更加稳定和高效。在 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
进行时间同步。 - 定期检查时间同步状态,确保系统时间的准确性。
- 避免频繁手动同步时间,利用现代工具的自动化管理功能,以减少系统负载和潜在的时间漂移问题。
通过正确配置和管理时间同步工具,您可以确保服务器和应用程序在正确的时间基础上稳定运行,避免因时间偏差引发的各种潜在问题。
如果您在配置过程中遇到任何问题或有任何疑问,欢迎在评论区留言讨论!