今天学习的Linux任务计划crontab
公号:软测小生(ruancexiaosheng)
我们时常会有一些定期定时的任务,如周期性的清理一下/tmp,周期性的去备份一次数据库,周期性的分析日志等等。而且有时候因为某些因素的限制,执行该任务的时间会很尴尬。本课程将带你很好的利用 Linux 系统的计划工具
格式:
image【开个小差,我不由得想起来这里的格式和Jenkins Job的定时任务是一毛一样的。】
image.png第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
在以上各个字段中,还可以使用以下特殊字符:
星号()*:代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
启动Crontab: :sudo cron -f &
添加一个计划任务(并选择编辑工具) :crontab -e
image.gif然后编辑退出
*/1 * * * * touch /home/shiyanlou/$(date +%Y%m%d%H%M%S)
image查看任务计划: :crontab -l
删除任务计划: :crontab -r
查看是否成功的在后台启动:
image imageCrontab深入:
每个用户使用** crontab -e 添加计划任务,都会在 /var/spool/cron/crontabs 中添加一个该用户自己的任务文档,这样目的是为了隔离**。
image-
/etc/cron.daily,目录下的脚本会每天执行一次,在每天的6点25分时运行;
-
/etc/cron.hourly,目录下的脚本会每个小时执行一次,在每小时的17分钟时运行;
-
/etc/cron.monthly,目录下的脚本会每月执行一次,在每月1号的6点52分时运行;
-
/etc/cron.weekly,目录下的脚本会每周执行一次,在每周第七天的6点47分时运行;
系统默认执行时间可以根据需求进行修改。
网友评论