## 设置时区(CentOS 7) 先执行命令**timedatectl status|grep 'Time zone'**查看当前时区,如果不是中国时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 ``` #已经是Asia/Shanghai,则无需设置 [root@GFW shadowsocks]# timedatectl status|grep 'Time zone' Time zone: Asia/Shanghai (CST, +0800) ``` 执行下面的命令设置时区 ``` #设置硬件时钟调整为与本地时钟一致 timedatectl set-local-rtc 1 #设置时区为上海 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@GFW ~]# which ntpdate /usr/sbin/ntpdate ``` ## 使用rdate同步时间 ntpdate服务需要使用udp/123端口,但是某些服务商禁止了所有UDP协议,所以你会发现无论如何ntpdate总是同步出错。 ``` #下方是ntpdate同步时间报错的一个列子 [root@GFW ~]# 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 #香港中文大学授时中心 ``` Last modification:April 24th, 2020 at 09:34 pm © 允许规范转载 Support 如果觉得我的文章对你有用,请随意赞赏 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat