嵌入式設備時間同步管理

今天在做設備WEB時間管理的時候發現了一些很有興趣的問題;在嵌入式設備中我們可以使用兩種方式來設置當前系統時間;一個是通過date這個指令來設置,另一個則是使用遠端NTP服務器來獲取網絡時間。

當然使用date -s “format_string_time” 來設置本地時間就再簡單不過了,但是很搞的是當我用date -s “2015-09-07 23:02”來設置設備的時候發現他會報無效的時間參數,原因是嵌入式設備中指令集大多都會使用busybox來處理,但是busybox的date -s 參數時間格式很逆天,他的格式是 “月-日-時-分-年”;例如:date -s “090723022015”;然後就成功了;可以使用date來查看當前系統時間;發現設置 OK;

下面就要說使用NTP協議來設置當前系統時間了,理論上來說ntp協議需要本地發送一個ntp的請求報送到指定的NTP服務器上,然後獲取時間並設置到本地系統時間上來;這裏Linux使用了一個指令ntpd來操作以上步驟;
ntpd -u ntpServer_ip_addr;
例如:
首先將ntp服務端口寫到/etc/services中,添加兩行
ntp 123/tcp
ntp 123/udp
然後執行
ntpd -u 202.112.10.60
操作完成之後,date一下,看看系統時間對不對;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章