CentOS 7 同步时间的 2 种方法

时间的正确性对服务器而言至关重要,就比如做了一个电商网站,如果服务器时间不准确,每次客户下单时间和实际实际不匹配,则会对管理和维护产生影响,这篇文章整理分享下 CentOS 7 环境下同步时间的 2 种方法(CentOS 6 未测试)。

设置时区(CentOS 7)
先执行命令 timedatectl status|grep 'Time zone' 查看当前时区,如果不是中国时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。

已经是Asia/Shanghai,则无需设置

[root@xiaoz ]# timedatectl status|grep 'Time zone'
       Time zone: Asia/Shanghai (CST, +0800)

执行下面的命令设置时区

设置时区为上海

timedatectl set-timezone Asia/Shanghai
使用 ntpdate 同步时间
目前比较常用的做法就是使用 ntpdate 命令来同步时间,使用方法如下:

安装ntpdate

yum -y install ntpdate

同步时间

ntpdate -u pool.ntp.org

同步完成后,date命令查看时间是否正确

date
另外再分享下几个常用的 ntp server,如果需要更多可以前往: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 命令来找到绝对路径,方法如下:

[root@xiaoz ~]# which ntpdate
/usr/sbin/ntpdate
使用 rdate 同步时间
ntpdate 服务需要使用 udp/123 端口,但是某些服务商禁止了所有 UDP 协议,所以你会发现无论如何 ntpdate 总是同步出错。

下方是ntpdate同步时间报错的一个列子

[root@sharktech ~]# 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 #(上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn #北京邮电大学
s1b.time.edu.cn #清华大学
s1c.time.edu.cn #北京大学
clock.cuhk.edu.hk #香港中文大学授时中心
总结
无论是使用 ntpdate 还是 rdate 来同步时间,方法都比较简单,大致流程就是 “设置时区” -> “同步时间” -> “设置定时任务”。在实际的测试中,xiaoz 发现部分服务商屏蔽 UDP 端口的情况下,ntpdate 命令无法同步,但使用 rdate 命令却可以,有类似情况的童鞋不妨试一下。

posted @   abowu  阅读(722)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示