ubuntu16.04設定cron自動重啟以及記錄日誌
有個ubuntu的伺服器,經常無緣無故服務掛掉,一旦掛掉就要手動重啟非常麻煩,查了很多資料,確定用crontab,但網上N多方法根本無法執行,通過一系列實驗,以下重啟方法是確定100%可以在16.04上跑的
1.確定你伺服器上cron是否已經安裝,可以用下面的命令確認
sudu apt-get install cron
2.開通並開啟cronie後臺服務,這一步很重要,不開通根本無法執行服務
sudo systemctl enable cron.service; sudo systemctl start cron.service
3.建立自己的配置文件,雖然/etc/crontab也可以,但自己配一個方便轉移
vi /root/mycrontab
我下面那2句是在每週日3:58分存當時的時間到/root/cronlog下面,然後在每週日4:00重啟,注意重啟用這個/sbin/reboot可用,其他的都無法用,我個人經驗
58 3 * * 0 date>>cronlog
0 4 * * 0 /sbin/reboot
因為一週執行一次還是可能會宕機,再放一個每2天執行一次的語句,如下:
58 3 */2 * * date>>cronlog
0 4 */2 * * /sbin/reboot
下面是每天執行一次的語句:
58 3 * * * date>>cronlog
0 4 * * * /sbin/reboot
5.載入mycrontab計劃到cron服務模組中,並檢視狀態
crontab /root/mycrontab
crontab -l 執行完這句應該可以看到mycrontab裡面的內容,每次修改mycrontab都需要重新載入並檢查
service cron start
6.設定OK,你可以把那個時間改成未來2分鐘試試效果,看重啟是否有效以及日誌是否成功
7.如果驗證OK,再把時間調整成你想設定的時間,然後開啟rc.local,把下面的程式碼加到 exit(0)前面
service cron start
這樣在重啟後,系統會呼叫crontab,繼續等待下一個重啟週期,完美解決。
下圖是這2個月來自己重啟的記錄,還挺穩定的,一開始是一週重啟一次,後來改成2天重啟一次