在Linux系统下完成定时计划任务,可以使用at或者crontab命令。其中,at命令主要针对只执行一次的需求场景,crontab则可以完成重复的定时任务。具体的使用说明可以参见:http://www.jb51.net/LINUXjishu/19905.html
在本例当中,因为需求,希望每天晚上12点能让服务器自动重启一下,所以进行了设置,主要步骤如下:
1、查看cron服务状态
service cron status
2、增加任务
crontab -e 或者直接修改文件vim /etc/crontab
增加如下一行
0 0 * * * root /data/reboot.sh
3、编写执行脚本reboot.sh
#!/bin/bash
date >> /data/reboot_log.txt
reboot
4、修改脚本reboot.sh权限,使脚本可执行
chmod 777 reboot.sh
chmod u+x reboot.sh
5、新建重启日志文件
vim /data/reboot_log.txt
6、重启cron服务
service cron restart
经过上述配置之后,服务器在每天的0点0分就会执行/data/reboot.sh脚本,将当前时间输入到重启日志/data/reboot_log.txt,然后执行reboot进行重启。
另外,需将cron服务设置为开机启动,这样重启之后才能继续实现下一次重启,否则每次重启之后需要手动开启cron服务,service cron start。在我使用的Ubuntu系统服务器中,cron服务为默认开机启动的。