歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux時間同步處理

Linux時間同步處理

日期:2017/2/28 15:57:20   编辑:Linux教程

0. 時間設置
查看linux操作系統時間命令為date,如果要設置操作系統日期命令為date -s 20101002,設置時間 date -s 12:10:21,同時設置日期和時間date -s '20101002 12:10:21';
查看機器的bios時間:
hwclock [-rw]
-r:檢視目前的 BIOS 時間
-w:將目前 Linux 的時間寫入 BIOS 當中!

1. 外網同步
機器可以連接到外網的時候可以使用ntpdate來同步時間,這個方法最簡單,只要分別在2個節點上設置下時間同步計劃即可。
首先我們設置下錯誤的系統和硬件時間
root@localhost ~]# date -s '20120101 12:12:12' ; hwclock -w ; date ; hwclock -r
2012年 12月 12日 星期三 12:12:12 CST
2012年 12月 12日 星期三 12:12:13 CST
2012年12月12日 星期三 12時12分15秒 -0.999668 seconds
可以看到系統和硬件時間都被設置到錯誤的時間去了,現在我們要設置下同步計劃:
crontab -e
#選擇一個方案即可

*/1 * * * * /usr/sbin/ntpdate 210.72.145.44 ; /usr/sbin/hwclock -w #每分鐘同步一次
*/59 * * * * /usr/sbin/ntpdate 210.72.145.44 ; /usr/sbin/hwclock -w #每59分鐘同步一次
5 10 * * * /usr/sbin/ntpdate 210.72.145.44 ; /usr/sbin/hwclock -w #每天10:05同步一次
最好service crond restart重啟下crontab服務,這樣就可以同步服務器的時間了。
PS:在使用ntpdate 命令時, ntpd 服務必須是關閉的(/etc/init.d/ntpd stop), 否則會報the NTP socket is in use, exiting 錯誤。

2. 架設內部服務器
如果服務器無法連接到外網,那就需要架設本地時間服務器,首先在要作為時間服務器的機器上設置:
修改 vi /etc/ntp.conf 增加以下行
server 210.72.145.44 prefer
server 127.127.1.0
restrict 192.168.200.204 mask 255.255.255.0 nomodify
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery
注釋:
中國國家授時中心服務器地址 prefer表示優先 注意把默認的server更改成這樣
本地時間)
允許192.168.200.204的IP使用該時間服務器
屏蔽其他IP過來更新時間

相關配置參數說明
#  restrict權限控制語法為:
#  restrict IP mask netmask_IP parameter
#  其中 IP 可以是軟件地址,也可以是 default ,default 就類似 0.0.0.0 咯!
#  至於 paramter 則有:
#   ignore :關閉所有的 NTP 聯機服務
#   nomodify:表示 Client 端不能更改 Server 端的時間參數,不過,
#        Client 端仍然可以透過 Server 端來進行網絡校時。
#   notrust :該 Client 除非通過認證,否則該 Client 來源將被視為不信任網域
#   noquery :不提供 Client 端的時間查詢
#  如果 paramter 完全沒有設定,那就表示該 IP (或網域) 『沒有任何限制!』

#  設定上層主機主要以 server這個參數來設定,語法為:
#  server [IP|FQDN] [prefer]
#  Server 後面接的就是我們上層 Time Server 啰!而如果 Server 參數
#  後面加上 perfer 的話,那表示我們的 NTP 主機主要以該部主機來作為
#  時間校正的對應。另外,為了解決更新時間封包的傳送延遲動作,


接著設置NTP服務在系統引導時自動啟動
# chkconfig ntpd on
啟動/關閉/重啟NTP的命令:
# /etc/init.d/ntpd start
# /etc/init.d/ntpd stop
# /etc/init.d/ntpd restart
#service ntpd restart

還需要設置將同步好的時間寫到CMOS裡
vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
每次修改了配置文件後都需要重新啟動服務來使配置生效。
檢查NTP服務是否啟動,你應該可以得到一個進程ID號:
pgrep ntpd #ntpd進程ID號
使用下面的命令檢查時間服務器同步的狀態:
ntpq -p 或者 watch ntpq -p ntpstat #檢查ntpd同步的狀態,完成了和自身同步也可以查看一些同步狀態
netstat -ntlup | grep 123 #查看nptd端口使用

客戶端設置:
使用ntpdate進行同步
crontab -e
#選擇一個方案即可
*/1 * * * * root /usr/sbin/ntpdate 192.168.2.4 ; /sbin/hwclock -w #每分鐘同步一次
*/59 * * * * root /usr/sbin/ntpdate 192.168.2.4 ; /sbin/hwclock -w #每59分鐘同步一次
5 10 * * * root /usr/sbin/ntpdate 192.168.2.4 ; /sbin/hwclock -w #每天10:05同步一次

客戶端可以使用ntpdate -d 192.168.2.4命令來檢查時間服務器狀態。

3. rdate同步
在安裝Oracle RAC的時候各個節點間時間必須一致,可以以一個節點作為標准,其他節點與該節點進行時間同步。
GTR1作為標准時間,GTR2節點用GTR1節點時間進行同步:
rdate -s GTR1
也可以在crontab自動執行時間同步。
crontab -l
*/1 * * * * rdate -s GTR1
-The End-

Copyright © Linux教程網 All Rights Reserved