最近有個需求,每天定時重啟服務器
比較少干這個事情,於是上網找了一下,找到兩篇博客是寫CentOS是怎么用crontab定時重啟服務器
很簡單:
通過crontab -l 查看,還沒有相應的命令
通過crontab -e 命令,進入編輯界面 參照別人的教程,加上一行命令(凌晨4:50重啟):
50 4 * * * root /sbin/reboot
:wq 保持退出
重啟一下crond服務:
/bin/systemctl restart crond.service
第二天發現好像沒有生效重啟, 用命令:
last reboot
查看重啟記錄果然凌晨沒重啟
然后就追查一下原因,查看crontab的運行狀態
/bin/systemctl status crond.service
crond 服務已經在跑,但是有一條send mail的報錯
網上查了下,是因為沒有指定輸出,所以會默認send mail, 在send mail 的時候出錯, 這個估計是mail那邊的問題,暫時先不去追究。
所以就改一下,指定輸出 >/dev/null 2>&1
50 4 * * * root /sbin/reboot >/dev/null 2>&1
還是不生效,send mail的錯誤沒有了,查看一下cron的執行日志,
tail -f /var/log/cron
看到上面設置的cron指令已經是執行了。
於是把root去掉:
50 4 * * * /sbin/reboot >/dev/null 2>&1
現在生效了, 之前被別人的博客教程給坑了,root是多余的。
解釋一下這條命令:
50 4 * * * 表示調度時間是4:50
后面是執行的腳本 /sbin/reboot