我们会希望Linux系统能够周期性地、有规律地执行某些具体的任务,那么Linux系统中默认启用的crond服务简直再适合不过了。创建、编辑计划任务的命令为“crontab -e”,查看当前计划任务的命令为“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是以管理员的身份登录的系统,还可以在crontab命令中加上-u参数来编辑他人的计划任务。crontab命令的参数及其作用如表所示。
crontab命令的参数及其作用
参数 |
作用 |
-e |
编辑计划任务 |
-u |
指定用户名称 |
-l |
列出任务列表 |
-r |
删除计划任务 |
在正式部署计划任务前,请先跟刘遄老师念一下口诀“分、时、日、月、星期 命令”。这是使用crond服务设置任务的参数格式(其格式见表4-8)。需要注意的是,如果有些字段没有被设置,则需要使用星号(*)占位
字段 |
说明 |
分钟 |
取值为0~59的整数 |
小时 |
取值为0~23的任意整数 |
日期 |
取值为1~31的任意整数 |
月份 |
取值为1~12的任意整数 |
星期 |
取值为0~7的任意整数,其中0与7均为星期日 |
命令 |
要执行的命令或程序脚本 |
- 设置每分钟重启系统;当周期性计划任务设置每分钟重启系统,要是在实际的生产环境中使用了这个,那我们就闯祸了,可能会因此错失了年终奖及升职加薪的机会;系统将进入每分钟重启的状态,怎么解决这个问题呢?速度够快进去周期性计划任务停止就可以了,但是往往还没到设置界面接被重启了
[root@server ~]# crontab -e
*/1 * * * * /usr/sbin/reboot
- 系统重启后立即按e键进入救援模式
- 进入后输入 mount -o remount,rw /sysroot重新挂载root目录,chroot /sysroot 使用chroot进入/sysroot
- 现在就可以清楚之前配置的周期性计划任务
crontab -e 清楚之前配置的周期性计划任务
- 同步到硬盘,然后使用Ctrl+d退出,重启后系统将不会一直重启收计划任务的控制