周期性计划任务相比一次性计划任务来说,相当于定制周期性的“计划”来执行某个任务。比如:每分钟执行,每小时执行,每天执行,每周执行,每天的 02:00 执行 等等… …
一般会选择服务器负载比较低的时间来执行
创建周期性计划任务
1 命令:crontab
和一次性计划任务一样,周期性计划任务也有服务来监控“周期性的计划”,这个服务的名字是 crond。(systemctl status crond)
crontab -e :编辑当前 shell 用户的计划任务。
crontab -e -u username :编辑 username 用户的计划任务。只有 root 用户可以编辑其他人的计划任务,非 root 用户只能编辑自己的计划任务。
crontab -l :列出当前用户的所有计划任务
crontab -l -u username :列出 username 的所有计划任务
2 格式
* * * * * command_or_script_to_execute
上面的 * 从左到右依次表示:分、时、日、月、周,后面是要执行的脚本或命令;
3 计划任务格式示例
每分钟一次
* * * * * /path/to/script
每小时的整点一次
0 * * * * /path/to/script
每天凌晨 2 点准时运行
0 2 * * * /path/to/script
每天凌晨 1 点这个小时中的每分钟运行一次
* 1 * * * /path/to/script
每个月的第一天的每分钟运行一次
* * 1 * * /path/to/script
1 月份中的每一分钟都运行一次
* * * 1 * /path/to/script
每周第0天,即周日的每分钟
* * * * 0 /path/to/script
每 5 分钟一次
0/5 * * * * /path/to/script
每个小时的第15分钟~第20分钟每分钟运行一次,总共一小时运行 6 次
15-20 * * * * /path/to/script
每年 4 月~ 6 月,4,5,6月的10号和15号这 2 天,从0点开始,包括 0 点,每两小时的第1分钟和第2分钟,第5~8分钟分别运行一次
1,2,5-8