案發時間 : 201708 、 現場(環境): Ubuntu 14.04
受害者 (套件): timedatectl 、date
問題:
很多時候,你拿到別人交付給你的虛擬主機檔案(VM),或者接手別人給你的伺服器時,
都會出現很多時間錯亂的問題,但校時以後,發現還是錯誤的時間!!
這時候到底是校時的伺服器有錯,還是自己的主機有問題?
處理方式:
校時的伺服器有問題的機會通常不高,
會有問題的幾乎的是本機的時區跑掉了,或者當初根本就沒設定好;
才會衍生出後續許多的問題。
也或許是因為專案交接,你從美國接收到一個VM主機,要在台灣運作起來,
這也會有時區上的問題。
所以我們要先來確定及設定本機的時區
#sudo timedatectl set-timezone "Asia/Taipei"
除了使用 timedatectl 的方法校正時區之外,
也有個比較簡單的圖形化方式選擇時區
#sudo dpkg-reconfigure tzdata
這邊會跳出模擬圖形化的選項來讓你選擇時區
這邊二選一就好了!
接著要選擇我們要校時的NTP Server
我比較常用這兩個NTP Server做校時的動作(當然不只這些)
tick.stdtime.gov.tw / tock.stdtime.gov.tw
要看到還有什麼NTP Server可以使用,
相關的NTP Server資訊,我有放在文末的相關網址當中。
#sudo ntpdate tick.stdtime.gov.tw
22 Aug 14:04:55 ntpdate[15847]: the NTP socket is in use, exitin
出現這個畫面,我們將先將ntp 服務關閉掉吧
#sudo /etc/init.d/ntp stop
* Stopping NTP server ntpd
再重新校時一次,就可以看到成功畫面。
#sudo ntpdate tick.stdtime.gov.tw
22 Aug 14:07:41 ntpdate[15918]: step time server tick.stdtime.gov.tw offset 30.452749 sec
檢測:
成功後我們用date看一下時間對不對。
#date
Tue Aug 22 14:07:49 CST 2017
當然除了這之外,還有很多方式可以校正時間 / 校正時區,
就依照自己的需求選擇要使用的方式吧
(全篇完)
參考:
校時相關資訊
https://blog.gtwang.org/linux/howto-set-date-time-from-linux-command-prompt/
NTP Server 相關網站文件
http://www.stdtime.gov.tw/chinese/bulletin/NTP%20promo.txt