CentOS通過crontab定時重啟服務器


最近有個需求,每天定時重啟服務器

比較少干這個事情,於是上網找了一下,找到兩篇博客是寫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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM