RB450G 本身沒有RTC及記憶電池, 每次斷電後, 系統時鐘便從新由1970年開始.
而NTP Client的設定, 卻是用輸入IP address的方式,
但NTP Server的IP卻時常改變, 遠不及輸入URL, 例如 "0.asia.pool.ntp.org", 讓router自動取得所須IP address來得方便.
今天修改一個從Mikrotik論壇找來的Script. 作用是檢查系統時鐘是否與NTP Server同步, 發現時鐘巳同步後, 則不做任何動作. 但如發現時鐘不能和NTP同步時, 即表示巳設定的IP有變, 則自動從新取得0.asia.pool.ntp.org及0.us.pool.ntp.org的IP address, 分別更新填入Pri及Sec的設定裡.
巳在RB450G上測試.
#Update NTP.
:local ntpclientstatus [/system ntp client get status];
:if ($ntpclientstatus="synchronized") do={:log info "Already synchronised"};
:local ntp1 [:resolve ("0.asia.pool.ntp.org")]
:local ntp2 [:resolve ("0.us.pool.ntp.org")]
/system ntp client set primary-ntp=$ntp1 secondary-ntp=$ntp2
:log info ("NTP servers updated, ".$ntp1.", ".$ntp2)
# |