CentOS通过crontab定时重启服务器

Posted kingson-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于CentOS通过crontab定时重启服务器的主要内容,如果未能解决你的问题,请参考以下文章

debian下的定时任务

CentOS Crontab(定时任务)

centos6定时任务

centos 执行定时任务

Centos7:利用crontab定时执行任务

Centos7:利用crontab定时执行任务