Linux系統時間同步(ntpdate/chrony/rdate)

 

Linux下同步系統時間有rdate與ntpdate兩種方法,chrony則是網絡時間協議NTP的另外一種實現,先確認是否安裝。配置新服使用ntpdate同步系統時間,不管是關閉iptables或者設置ntp.conf,都沒法正常同步。這裏我使用chrony或者rdate命令。算法

yum install ntpdate -y
ntpdate:設置本地日期和時間。它從指定的每一個服務器得到了一些樣本,並應用標準NTP時鐘過濾器和選擇算法來選擇最好的樣本。
語法:
ntpdate [參數][主機名稱或IP地址...]
參數:
-a Keyid使用 Keyid 來認證所有數據包。
-b 經過調用 settimeofday 子例程來增長時鐘的時間。
-d 指定調試方式。判斷 ntpdate 命令會產生什麼結果(不產生實際的結果)。結果再如今屏幕上。這個標誌使用無特權的端口。
-e AuthenticationDelay指定延遲認證處理的時間秒數。
-k KeyFile當不使用缺省值 /etc/ntp.keys 文件時,爲包含密鑰的文件指定一個不一樣的名稱。請參閱文件KeyFile的描述。
-o Version當輪詢它的發出數據包時,指定使用的NTP版本實現。 Version的值能夠是 1,2,3。缺省值是 3。
-p Samples指定從每一個服務器獲取的樣本的數目。Samples的值在 1 和 8 之間,幷包括 1 和 8。它的缺省值是 4。
-s 指定日誌操做 syslog 設施的使用,而不是使用標準輸出。 當運行 ntpdate 命令和 cron 命令時,它是頗有用的。
-t TimeOut指定等待響應的時間。給定 TimeOut 的值四捨五入爲 0.2 秒的倍數。缺省值是 1 秒。
-u指定使用無特權的端口發送數據包。當在一個對特權端口的輸入流量進行阻攔的防火牆後是頗有益的,並但願在防火牆以外和主機同步。防火牆是一個系統或者計算機,它控制從外網對專用網的訪問。
一、
打開UDP端口123
iptables -A INPUT -p udp -m udp --sport 123 -j ACCEPT
二、
同步時間。一般狀況下不必本身搭建時間服務器。
國內經常使用NTP服務器地址及IP  
  
這裏使用time.nist.gov
ntpdate time.nist.gov
三、
添加任務計劃
0 */1 * * * /usr/bin/ntpdate time.nist.gov
date -s 設置時間可自行搜索
chrony是網絡時間協議NTP的另外一種實現,與網絡時間協議後臺程序(ntpd)不一樣,它能夠更快地更準確地同步系統始終。
#yum install chrony -y
#service chronyd start
#chkconfig chronyd on
#chronyc --help
Usage: chronyc [-h HOST] [-p PORT] [-n] [-4|-6] [-a] [-f FILE] [-m] [COMMAND]
同步
#chronyd sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^? leontp.ccgs.wa.edu.au         0   7     0   10y     +0ns[   +0ns] +/-    0ns
^* dns1.synet.edu.cn             2   6    37    61    -69us[  -22ms] +/-   30ms
^- 166.111.206.172               2   6    37    60    -17ms[  -17ms] +/-  302ms
^- 61.161.155.29                 2   6    37    63    +15ms[  +12ms] +/-   79ms
yum install xinetd rdate -y
rdate:用於顯示其餘主機的日期與時間。執行rdate指令,向其餘主機詢問系統時間並顯示出來。
語法:
rdate [-ps][主機名稱或IP地址...]
參數:
-p 顯示遠端主機的日期與時間。
-s 把從遠端主機收到的日期和時間,回存到本地主機的系統時間。
-u 傳輸協議使用UDP協議
-l 使用syslog顯示錯誤信息
-t<時間> 設置超時時間
一、
開啓time-stream服務。修改/etc/xinetd.d/time-stream下「disable = yes」爲「disable = no「並啓動xinetd
service xinetd start
使用的端口是37,檢查37端口是否開啓,處於監聽狀態 lsof -i:37
若是不啓動該服務,鏈接的時候會報下面的錯誤:"rdate: couldn't connect to host time.widnows.com: Connection refused"
二、
同步時間。
rdate -s IP/Server
三、
添加任務計劃
0 */1 * * * /usr/bin/rdate –s time.nist.gov
相關文章
相關標籤/搜索