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