linux實現時間同步有哪幾種方法

linux實現時間同步的方法的有兩種,分別是:1、使用ntpdate從時間服務器來更新時間,不需要自己做任何配置;2、使用ntp來搭建自己的時間服務器。

linux實現時間同步有哪幾種方法

【推薦課程:Linux系統

由于硬件的原因,機器或多或少的跟標準時間對不上,誤差幾秒到幾分鐘不等。對于服務器來說時間不準會有很多麻煩。例如支付的時候,無法下單,游戲無法登錄等。接下來將在文章中為大家分享Linux系統中如何實現時間同步,希望對大家有所幫助

方法一:用ntpdate從時間服務器更新時間

如果linux系統沒有ntpdate這個命令,可以輸入以下代碼進行安裝

yum?install?ntp

安裝完了之后,你不要做什么配置,也不需要,直接測試一下

vi?/etc/ntp.conf add?below: server?1.cn.pool.ntp.org server?3.asia.pool.ntp.org server?2.asia.pool.ntp.org

restart service and sync the time

[root@localhost?~]#?ntpdate?time.nist.gov?? 22?Oct?21:11:43?ntpdate[5014]:?adjust?time?server?207.200.81.113?offset?-0.018788?sec

如果顯示上面的內容說明同步成功了,然后在crontab里面加上以下內容。

*/10?*?*?*?*?ntpdate?time.nist.gov???#域名或IP

每隔十分鐘同步一次。推薦幾個時間服務器。

time.nist.gov

time.nuri.net

0.asia.pool.ntp.org

1.asia.pool.ntp.org

2.asia.pool.ntp.org

3.asia.pool.ntp.org

方法二、用ntp搭建自己的時間服務器

上面是利用別人的時間服務器來同步時間,這些時間服務器都是比較權威的。當我們自己搭建時間服務器就不用crontab來定時去跑。

1、安裝時間服務器ntp

yum?install?ntp

2、配置ntp

[root@localhost?~]#?cat?/etc/ntp.conf?|awk?'{if($0?!~?/^$/?&&?$0?!~?/^#/)?{print?$0}}'?? restrict?default?ignore???//默認不允許修改或者查詢ntp,并且不接收特殊封包?? restrict?127.0.0.1????????//給于本機所有權限?? restrict?192.168.1.0?mask?255.255.255.0?notrap?nomodify??//給于局域網機的機器有同步時間的權限?? server?time.nist.gov?prefer??????//設置時間服務器,加prefer表示優先?? server?0.asia.pool.ntp.org?? server?1.asia.pool.ntp.org?? server?2.asia.pool.ntp.org?? server??127.127.1.0?????#?local?clock?? fudge???127.127.1.0?stratum?10?? driftfile?/var/lib/ntp/drift?? keys?/etc/ntp/keys

3、啟動 ntp

[root@localhost?~]#?/etc/init.d/ntpd?start

4、查看并測試

[root@localhost?~]#?netstat?-upnl?|grep?ntpd???//查看時程???? [root@localhost?~]#?ntpq?-pn????//查看同步的服務器IP??? remote???????????refid??????st?t?when?poll?reach???delay???offset??jitter?? ==============================================================================??? 50.77.217.185???.INIT.??????????16?u????-???64????0????0.000????0.000???0.000??? 202.90.158.4????.INIT.??????????16?u????-???64????0????0.000????0.000???0.000??? 202.71.100.89???.INIT.??????????16?u????-???64????0????0.000????0.000???0.000??? 202.134.1.10????.INIT.??????????16?u????-???64????0????0.000????0.000???0.000?? *127.127.1.0?????.LOCL.??????????10?l???18???64??377????0.000????0.000???0.001???? [root@localhost?~]#?ntpstat???//同步的結果?? synchronised?to?local?net?at?stratum?11??? time?correct?to?within?12?ms??? polling?server?every?512?s

remote:即NTP主機的IP或主機名稱。注意最左邊的符號,如果由“+”則代表目前正在作用鐘的上層NTP,如果是“*”則表示也有連上線,不過是作為次要聯機的NTP主機。

  • refid:參考的上一層NTP主機的地址

  • st:即stratum階層

  • when:幾秒前曾做過時間同步更新的操作

  • poll:下次更新在幾秒之后

  • reach:已經向上層NTP服務器要求更新的次數

  • delay:網絡傳輸過程鐘延遲的時間

  • offset:時間補償的結果

  • jitter:Linux系統時間與BIOS硬件時間的差異時間

推薦第一種方法,雖然搭建個時間服務器,比較簡單的,但是我覺得沒有這個必要。如果用別人的時間服務器,每隔10分鐘同步一次,可以精確到毫秒。

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享