因爲項目須要,在CentOS6.3系統中,使用我編寫的shell腳本更新過軟件,操做人員會習慣性立馬斷電重啓。但重啓後,軟件都沒法正常使用。甲方各類跟我要緣由啊……真是把我逼慘了。shell
各類問度娘有沒有啊,根本沒有解決方法。ide
在虛擬機裏作了幾回腳本升級實驗,根本沒問題。後來,一想他們更新完那就立馬給設備斷電重啓,就嘗試一下給虛擬機也作斷電實驗試試。果真如此,通過排查斷電重啓後部分的軟件大小都變成 0byte。因此啓動的軟件的自啓動根部不能起做用。內存
真的是由於更新完軟件立馬斷電的緣由。虛擬機
接下來就是着手解決這個立馬斷電的狀況下也能保存文件的方法了。it
下面的網上搜索到的資料:class
在Linux/Unix系統中,在文件或數據處理過程當中通常先放到內存緩衝區中,等到適當的時候再寫入磁盤,以提升系統的運行效率。效率
解決辦法:使用 sync 命令,強制將緩衝區的數據寫入磁盤了。軟件
將這條命令寫進軟件升級腳本的末尾兩次,確保升級腳本複製完軟件以後立馬寫入硬盤。至此,問題完整解決。搜索
其實,這條命令在一些腳本都看見過。當時也以爲很好奇這條命令作什麼用的,可是也沒有深究。如今真是吃一塹長一智。幸虧,甲方對我快速能解決掉這個問題沒有什麼意見。方法