时间的正确性对服务器而言至关重要,如果服务器时间不准确,则会对管理和维护产生影响,这篇文章整理分享下 CentOS 7 环境下同步时间的两种方法。
设置时区(CentOS 7)
先执行命令 timedatectl status | grep 'Time zone'
查看当前时区,如果不是 Asia/Shanghai
,则需要先设置,否则时区不同会存在时差。
#已经是 Asia/Shanghai,则无需设置
[[email protected] shadowsocks]# timedatectl status | grep 'Time zone'
Time zone: Asia/Shanghai (CST, +0800)
执行下面的命令设置时区
# 设置硬件时钟调整为与本地时钟一致
timedatectl set-local-rtc 1
# 设置时区为 Asia/Shanghai
timedatectl set-timezone Asia/Shanghai
使用 ntpdate 同步时间
目前比较常用的做法就是使用 ntpdate
命令来同步时间,使用方法如下:
# 安装 ntpdate
yum -y install ntpdate
# 同步时间
ntpdate -u pool.ntp.org
# 同步完成后,date 命令查看时间是否正确
date
另外再分享下几个常用的 NTP 服务器,如果需要更多可以前往 http://www.ntp.org.cn 获取
# 中国
cn.ntp.org.cn
# 中国香港
hk.ntp.org.cn
# 美国
us.ntp.org.cn
同步时间后可能部分服务器过一段时间又会出现偏差,因此最好设置 crontab
来定时同步时间,方法如下:
# 安装 crontab
yum -y install crontab
# 创建 crontab 任务
crontab -e
# 添加定时任务
*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1
# 重启 crontab
service crond reload
上面的计划任务会在每 20 分钟进行一次时间同步,注意 /usr/sbin/ntpdate
为 ntpdate
命令所在的绝对路径,不同的服务器可能路径不一样,可以使用 which
命令来找到绝对路径,方法如下:
[[email protected] ~]# which ntpdate
/usr/sbin/ntpdate
使用 rdate 同步时间
ntpdate 服务需要使用 udp/123
端口,但是某些服务商禁止了所有 UDP 协议,所以你会发现无论如何 ntpdate 总是同步出错。
# 下方是 ntpdate 同步时间报错的一个列子
[[email protected] ~]# ntpdate -u pool.ntp.org
1 Jun 16:13:46 ntpdate[8389]: no server suitable for synchronization found
这个时候我们可以改用 rdate 命令来同步时间,方法如下:
# 安装 rdate
yum -y install rdate
# 同步时间
rdate -s time-b.nist.gov
# 查看时间是否正确
date
和上面一样,我们最好是加入定时任务来定期同步时间,方法如下:
# 安装 crontab
yum -y install crontab
# 创建 crontab 任务
crontab -e
# 添加定时任务
*/20 * * * * /usr/bin/rdate -s time-b.nist.gov > /dev/null 2>&1
# 重启 crontab
service crond reload
还有一些其它的rdate时间服务器如下:
s1d.time.edu.cn # 东南大学
s1e.time.edu.cn # 清华大学
s2a.time.edu.cn # 清华大学
s2b.time.edu.cn # 清华大学
s2c.time.edu.cn # 北京邮电大学
ntp.sjtu.edu.cn 202.120.2.101 #上海交通大学网络中心
s1a.time.edu.cn # 北京邮电大学
s1b.time.edu.cn # 清华大学
s1c.time.edu.cn # 北京大学
clock.cuhk.edu.hk # 香港中文大学
总结
无论是使用 ntpdate
还是 rdate
来同步时间,方法都比较简单,大致流程就是“设置时区” -> “同步时间” -> “设置定时任务”。在实际的测试中,我发现部分服务商屏蔽 UDP 端口的情况下,ntpdate
命令无法同步,但使用 rdate
命令却可以,有类似情况的童鞋不妨试一下。
本文由 imbytecat 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Jan 7, 2021 at 09:20 pm