linux下使用crontab工具设置定时任务

使用crontab添加定时任务

crontab -e

cron的格式说明

分钟 小时 月中日 月份 周中日 你的自动化脚本
取值范围:
分钟:0-59
小时:0-23
月中日:1-31
月份:1-12
周中日:0-6

在指定的时间点调度

30 08 10 12 * /home/pengkai/myjob.sh
上面的调度器会在12月10号的上午8点30分执行myjob.sh脚本。
注意,上面最后一个位置使用了*号来表示一周中的每一天。因为已经指定了具体的月日,所以不必再限制那一天是星期几。

查看当前用户下的所有调度任务

1
$ crontab -l

或者以root用户查看其他用户的任务

1
# crontab -u kyle -l

每分钟执行一次调度

1
* * * * * 你的脚本

一天执行两次

1
* 12,20 * * * 你的脚本

上面的命令会分别在中午12点晚上8点执行你的脚本

指定起止时间并按照固定间隔执行

1
08-20 * * * 你的脚本

上面的命令会从8点开始执行,然后间隔一个小时再次执行,最后一直到晚上8点截止。

只在工作日的工作时间内执行

1
00 09-18 * * 1-5 你的脚本

从周一开始,每天从上午9点开始执行,然后每隔一个小时再次执行,最后一直到下午6点截止。如此往复到周五晚上6点停止执行。下周继续。

每隔10分钟执行一次

1
*/10 * * * * 你的脚本

使用特殊字符指定调度周期

cron支持的特殊字符
@yearly = 0 0 1 1 * :每年的1月1日执行
@daily = 0 0 * * * : 每天的0点执行
@monthly = 0 0 1 * * :每个月的1号的0点执行
@hourly = 0 * * * * :每个小时执行一次
@reboot = 计算器启动时执行