文档中心>实践教程>云服务器>搭建应用>NTP 服务>Linux 实例:将 ntpdate 转换为 ntpd

Linux 实例:将 ntpdate 转换为 ntpd

最近更新时间:2025-04-17 11:08:32

我的收藏

操作场景

ntpdate 为断点更新,ntpd 为步进式的逐渐校正时间。对新购实例,您可以使用 ntpdate 同步时间。对已经承载有运行中业务的实例,建议您使用 ntpd 同步时间。本文档以 CentOS 7.5 操作系统云服务器为例,介绍如何将 ntpdate 转换为 ntpd。
注意:
腾讯云官方镜像中一般都配置了 ntpd 或者 chrony 服务,用来同步系统时间。
极少数的情况下才会“将 ntpdate 转换为 ntpd”。建议确定 crontab -l | grep ntpdate 的输出不为空后再执行本文的操作。

前提条件

NTP 服务的通信端口为 UDP 123,转换为 NTP 服务之前,请确保您已经开放 UDP 123端口。 若未开放该端口,请参见 添加安全组规则 进行放行。

操作步骤

手动将 ntpdate 转换为 ntpd

关闭 ntpdate

1. 执行以下命令,导出 crontab 配置,并过滤 ntpdate。
crontab -l | grep -v ntpdate > /tmp/cronfile
2. 执行以下命令,更新 ntpdate 配置。
crontab /tmp/cronfile
3. 执行以下命令,修改 rc.local 文件。
vim /etc/rc.local
4. i 切换至编辑模式,删除 ntpdate 配置行。
5. Esc,输入 :wq,保存文件并返回。

配置 ntpd

1. 执行以下命令,打开 NTP 服务配置文件。
vi /etc/ntp.conf
2. i 切换至编辑模式,找到 server 相关配置,将 server 修改为您需要设置的目标 NTP 时钟源服务器(例如 time1.tencentyun.com),并删除暂时不需要的 NTP 时钟源服务器。如下图所示:
server设置


3. Esc,输入 :wq,保存文件并返回。

相关操作

检查 ntpd 状态

请根据实际需求,执行对应命令,以检查 ntpd 的状态。
执行以下命令,查看 NTP 服务端口 UDP 123 端口是否被正常监听。
netstat -nupl
返回类似如下结果,表示监听正常。
netstat -nupl


执行以下命令,查看 ntpd 状态是否正常。
service ntpd status
返回类似如下结果,表示 ntpd 状态正常。
ntpd status


执行以下命令,获取更详细的 NTP 服务信息。
ntpq -p
返回类似如下结果:


* : 表示目前使用的 NTP 服务器。
remote:响应这个请求的 NTP 服务器的名称。
refid:NTP 服务器使用的上一级 NTP 服务器。
st:remote 远程服务器的级别。服务器从高到低级别设定为1 - 16,为了减缓负荷和网络堵塞,原则上建议避免直接连接到级别为1的服务器。
when:上一次成功请求之后到现在的秒数。
poll:本地机和远程服务器多少时间进行一次同步(单位为秒)。初始运行 NTP 时,poll 值会比较小,和服务器同步的频率增加,建议尽快调整到正确的时间范围。调整之后,poll 值会逐渐增大,同步的频率也将会相应减小。
reach:八进制值,用来测试能否和服务器连接。每成功连接一次,reach 的值将会增加。
delay:从本地机发送同步要求到 NTP 服务器的 round trip time。
offset:主机通过 NTP 时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。offset 越接近于0,主机和 NTP 服务器的时间越接近。
jitter:用来做统计的值。统计在特定连续的连接数里 offset 的分布情况。即 jitter 数值的绝对值越小,主机的时间就越精确。