2016年6月16日 星期四

用ntpdate校對時間

要校正系統的時間,直接用ntpdate(要自己另外安裝)就可以了:
  • ntpdate time.stdtime.gov.tw
  • ntpdate -s watch.stdtime.gov.tw
  • date
  • hwclock -w
上面兩個指令都是跟國家時間與頻率標準實驗室作同步,只是一台機器是time、另外一台機器是watch。下面指令的參數 -s 意思是校正時間後的相關訊息存到 /var/log/syslog 裡面。第三個指令是看系統時間;最後的指令則是把系統時間寫到 BIOS 裡(參考這篇)。

使用 date 看時間,出現像是 Fri Jun 17 10:55:05 CST 2016 這種格式
但 CST 其實可以代表下面五個時區(部分參考《24时区,GMT,UTC,DST,CST时间详解》):
  • 澳洲中部時間:Central Standard Time (Australia) UTC+9:30
  • 中原標準時間:Chungyuan Standard Time UTC+8:00
  • 中國標準時間:China Standard Time UTC+8:00
  • 古巴標準時間:Cuba Standard Time UTC-4:00
  • 美國中部時間:Central Standard Time (USA) UTC-6:00
中原標準時間(CST, Chungyuan Standard Time)也叫做國家標準時間(NST, National Standard Time)或是台灣時間(TST, Taiwan Standard Time)或台北時間(Taipei Time),UTC 則是世界協調時間。台灣時間的歷史請參考英文維基百科《Time in Taiwan》

若在 /etc/rc.local 寫入校對時間的指令 ntpdate,這樣就一開機後就立刻校對系統時間。由於不知道是不是每一台NTP server都有開,所以要多寫幾個:

/usr/sbin/ntpdate -s ntp-0.nctu.edu.tw || \
/usr/sbin/ntpdate -s ntp-1.nctu.edu.tw || \
/usr/sbin/ntpdate -s time.stdtime.gov.tw || \
/usr/sbin/ntpdate -s tick.stdtime.gov.tw || \
/usr/sbin/ntpdate -s tock.stdtime.gov.tw || \
/usr/sbin/ntpdate -s watch.stdtime.gov.tw || \
/usr/sbin/ntpdate -s clock.stdtime.gov.tw || \
/usr/sbin/ntpdate -s time-a.nist.gov || \
/usr/sbin/ntpdate -s time-b.nist.gov || \
/usr/sbin/ntpdate -s tick.usno.navy.mil || \
/usr/sbin/ntpdate -s tock.usno.navy.mil

上面會依序對時,當有對到某一台後就不會再對後面的時鐘了。

_EOF_

沒有留言:

張貼留言