linux系統(tǒng)同步系統(tǒng)時(shí)間

業(yè)務(wù)場(chǎng)景

由于開(kāi)發(fā)用的laravel框架呼猪,業(yè)務(wù)中用了很多job定時(shí)任務(wù),時(shí)間幾乎分布在全天的任何時(shí)間點(diǎn)(精確到秒)驹吮,如果服務(wù)器時(shí)間校準(zhǔn)出現(xiàn)時(shí)間跳躍的話依疼,很有可能導(dǎo)致某些計(jì)劃任務(wù)無(wú)法執(zhí)行。

實(shí)現(xiàn)方法分析

首先想到的就是定時(shí)執(zhí)行
20 3 * * * ntpdate 1.cn.pool.ntp.org >> /root/cron.log 2>$1

但是這樣的話會(huì)導(dǎo)致如果任務(wù)A是在20:18:18執(zhí)行,但是ntpdate從20:18:15開(kāi)始校準(zhǔn)逝淹,一下把服務(wù)器時(shí)間設(shè)置成了20:18:20秒耕姊,那么計(jì)劃任務(wù)A就被跳過(guò)了,沒(méi)有執(zhí)行栅葡。

解決以上問(wèn)題的方案
  • 先用ntpdate每天同步一次(最好在閑時(shí)同步)
  • 然后用ntpd守護(hù)進(jìn)程服務(wù)來(lái)校準(zhǔn)茉兰。
為什么要這樣做呢?原因如下
  • ntpd在實(shí)際同步時(shí)間時(shí)是一點(diǎn)點(diǎn)的校準(zhǔn)過(guò)來(lái)時(shí)間的欣簇,最終把時(shí)間慢慢的校正對(duì)规脸。
  • ntpdate不會(huì)考慮其他程序是否會(huì)陣痛,直接調(diào)整時(shí)間熊咽。

使用ntpdate導(dǎo)致的問(wèn)題

不幸的是莫鸭,ntpdate調(diào)整時(shí)間的方式就是我們所說(shuō)的”躍變“:在獲得一個(gè)時(shí)間之后,ntpdate使用(當(dāng)誤差大于0.5秒的時(shí)候横殴,用settimeofday直接設(shè)置系統(tǒng)時(shí)間被因,小于0.5秒的時(shí)候用adjtime和偏移量來(lái))設(shè)置系統(tǒng)時(shí)間,這有幾個(gè)非常明顯的問(wèn)題:

  • 這樣做不安全衫仑。ntpdate的設(shè)置依賴于ntp服務(wù)器的安全性梨与,攻擊者可以利用一些軟件設(shè)計(jì)上的缺陷,拿下ntp服務(wù)器并令與其同步的服務(wù)器執(zhí)行某些消耗性的任務(wù)文狱。由于ntpdate采用的方式是跳變粥鞋,跟隨它的服務(wù)器無(wú)法知道是否發(fā)生了異常(時(shí)間不一樣的時(shí)候,唯一的辦法是以服務(wù)器為準(zhǔn))如贷。
  • 這樣做不精確陷虎。一旦ntp服務(wù)器宕機(jī),跟隨它的服務(wù)器也就會(huì)無(wú)法同步時(shí)間杠袱。與此不同尚猿,ntpd不僅能夠校準(zhǔn)計(jì)算機(jī)的時(shí)間,而且能夠校準(zhǔn)計(jì)算機(jī)的時(shí)鐘楣富。
  • 這樣做不夠優(yōu)雅凿掂。由于是跳變,而不是使時(shí)間變快或變慢纹蝴,依賴時(shí)序的程序會(huì)出錯(cuò)(例如庄萎,如果ntpdate發(fā)現(xiàn)你的時(shí)間快了,則可能會(huì)經(jīng)歷兩個(gè)相同的時(shí)刻塘安,對(duì)某些應(yīng)用而言糠涛,這是致命的)。

因而兼犯,唯一一個(gè)可以令時(shí)間發(fā)生跳變的點(diǎn)忍捡,是計(jì)算機(jī)剛剛啟動(dòng)集漾,但還沒(méi)有啟動(dòng)很多服務(wù)的那個(gè)時(shí)候。其余的時(shí)候砸脊,理想的做法是使用ntpd來(lái)校準(zhǔn)時(shí)鐘具篇,而不是調(diào)整計(jì)算機(jī)時(shí)鐘上的時(shí)間。
NTPD 在和時(shí)間服務(wù)器的同步過(guò)程中凌埂,會(huì)把 BIOS 計(jì)時(shí)器的振蕩頻率偏差驱显,或者說(shuō) Local Clock 的自然漂移(drift)記錄下來(lái)。這樣即使網(wǎng)絡(luò)有問(wèn)題瞳抓,本機(jī)仍然能維持一個(gè)相當(dāng)精確的走時(shí)埃疫。

最后提醒一下使用vmware的各位,因?yàn)樘摂M機(jī)的時(shí)鐘不太正常挨下,比正常速度慢好多秒熔恢,所以在虛擬機(jī)上測(cè)試ntpd很難得到理想的結(jié)果脐湾,我當(dāng)年就是為這個(gè)問(wèn)題耽擱了好幾天臭笆。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秤掌,一起剝皮案震驚了整個(gè)濱河市愁铺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌闻鉴,老刑警劉巖茵乱,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異孟岛,居然都是意外死亡瓶竭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)渠羞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)斤贰,“玉大人,你說(shuō)我怎么就攤上這事次询∮校” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵屯吊,是天一觀的道長(zhǎng)送巡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)盒卸,這世上最難降的妖魔是什么骗爆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮蔽介,結(jié)果婚禮上摘投,老公的妹妹穿的比我還像新娘糟需。我一直安慰自己,他們只是感情好谷朝,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布洲押。 她就那樣靜靜地躺著,像睡著了一般圆凰。 火紅的嫁衣襯著肌膚如雪杈帐。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天专钉,我揣著相機(jī)與錄音挑童,去河邊找鬼。 笑死跃须,一個(gè)胖子當(dāng)著我的面吹牛站叼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播菇民,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼尽楔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了第练?” 一聲冷哼從身側(cè)響起阔馋,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娇掏,沒(méi)想到半個(gè)月后呕寝,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡婴梧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年下梢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塞蹭。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡孽江,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浮还,到底是詐尸還是另有隱情竟坛,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布钧舌,位于F島的核電站担汤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏洼冻。R本人自食惡果不足惜崭歧,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望撞牢。 院中可真熱鬧率碾,春花似錦叔营、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至仔粥,卻和暖如春婴谱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背躯泰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工谭羔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人麦向。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓瘟裸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诵竭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子话告,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容