1. 程式人生 > >linux 伺服器時間同步

linux 伺服器時間同步

13cache伺服器時間有差異

同事說3臺伺服器時間不一致,在執行分散式任務的時候出了詭異的問題,趕緊去看下3臺cache伺服器,果然彼此相差幾分鐘。

[[email protected]_3_40 ~]# date

2016年 07月 26日 星期二 17:24:57 CST

[[email protected]_3_40 ~]#

[[email protected]_3_41 ~]# date

2016年 07月 26日 星期二 17:27:44 CST

[[email protected]_3_41 ~]#

[[email protected]_3_42 ~]# date

2016年 07月 26日 星期二 17:29:46 CST

[[email protected]_3_42 ~]#

記得在搭建伺服器的時候,通過date -s 09:38:40設定過時間,而且還用設定好了時區,預計是linux系統執行久了後,會存在一點點時間上的誤差,所以需要重新進行時間同步

2、重新設定時間同步

先設定時區:

cp -f /usr/share/zoneinfo/Asia/Shanghai/etc/localtime -y

echo 'ZONE="Asia/Shanghai"' >/etc/sysconfig/clock

hwclock

首先需要安裝同步服務元件ntpdate

yum install -y ntpdate

先手動ntpdate命令同步時間,同步報錯

[[email protected]_3_41 ~]# /usr/sbin/ntpdate -u  pool.ntp.org

26 Jul 17:33:14 ntpdate[20154]: the NTP socketis in use, exiting

[[email protected]_3_41 ~]#

原因是有ntpd服務佔據了socket埠,所以關閉ntpd服務,然後再執行同步命令

[[email protected]_3_40 ~]# service ntpd stop

關閉 ntpd:                                               [確定]

[[email protected]_3_40 ~]# /usr/sbin/ntpdate -u pool.ntp.org

26 Jul 17:44:02 ntpdate[32191]: step timeserver 115.28.122.198 offset 693.768108 sec

[[email protected]_3_40 ~]#

[[email protected]_3_40 ~]# date

2016年 07月 26日 星期二 17:44:05 CST

[[email protected]_3_40 ~]#

PS:加上-u引數:

若不加上-u引數,會出現以下提示:no server suitable for synchronization found;-u:從man ntpdate中可以看出-u引數可以越過防火牆與主機同步;

PSdate命令手動設定時間:

date :檢視當前時間,結果如下:Tue Mar 401:36:45 CST 2014

date -s 09:38:40 :設定當前時間,結果如下:TueMar 4 09:38:40 CST 2014

3、設定crontab定時任務及時同步時間

為了crontab任務的允許安全起見,取消ntpd開機自啟動

chkconfig ntpd off;

[[email protected]_3_42 ~]# chkconfig ntpd off;

[[email protected]_3_42 ~]#

然後這裡設定自動同步crontab任務,每隔30分鐘同步一次。

crontab -e

*/30 * * * * /usr/sbin/ntpdate -upool.ntp.org >> /var/log/crontab.log 2>&1

4、一些常用的時間伺服器

ntp常用伺服器:

中國國家授時中心:210.72.145.44

NTP伺服器(上海) :ntp.api.bz

美國:time.nist.gov

復旦:ntp.fudan.edu.cn

微軟公司授時主機(美國) :time.windows.com

臺警大授時中心(臺灣):asia.pool.ntp.org

經測試中國國家授時中心與NTP上海伺服器可以正常同步時間,注意需要加上-u引數!