Crontab表达式可用于配置影刀计划执行高级选项,实际上它是由六个子字符串组成的一串字符串,子字符串间采用空格分离,从左到右分别代表分钟, 小时,日期【一个月中的第几天】,月份,周【一周中的第几天】。
字符串“ 0 12 4”是一个完整的Crontab例子,它所表达的意思是:每周三早上12:00。
各个子表达式的值可以是一个范围或者列表,比如,上个例子中的【星期】域的值“4”也是可以是“1-4”【代表周日至周三】、“1,3,5”【代表周日,周二和周四】或者“2-4,6”【代表周一至周三和周五】。
所有子表达式都有指定各自的取值范围。
下面对Cron-Expressions的各个子表达式和取值范围进行说明:
子表达式域 | 说明 | 允许的值 | 允许的特殊字符 |
---|---|---|---|
分钟域 | 表示一个小时中的第几分钟 | 0-59 | - * / , |
小时域 | 表示一天中的第几个小时 | 0-23 | - * / , |
日期域 | 表示一个月中的第几天 | 1-31 | - * / , |
月份域 | 表示一年中的第几个月份 | 1-12或JAN-DEC | - * / , |
周域 | 表示一个星期中的第几天 | 1-7【星期从周日开始计算,数字1代表周日,数字2代表周一,以此类推】 | - * / , |
提示:【日期和周不能同时被指定为具体时间,若一者为具体时间,则另一者必须为*】
[-]字符表示——值的范围,10-12在小时域中表示为:10、11和12;
[*]字符表示——可以为任意值,‘’在分钟域中表示为:每分钟;
[/]字符表示——一个左边的数值是右边基数的递增值,‘0/15’在分钟域中表示为:第0、15、30和45分钟,‘5/15’ 在分钟域中表示为:第5、20、35和50分钟;
*[,]字符表示——列表的分割项,’1,3,5’在日期域中表示指定月份的第1、3、5日
下面举一些完整的Crontab表达式例子:
表达式 | 含义 |
---|---|
* | 每天每小时每隔1分钟执行一次计划任务 |
0 | 每天每小时整点执行一次计划任务 |
15 10 * | 每天10:15执行一次计划任务 |
5 12 1 | 每个月1号的12:05执行一次计划任务 |
10 15 20 3 * | 每年3月20日15:10执行一次计划任务 |
10 15 * 3 1 | 每年3月的每个周日15:10执行一次计划任务 |
14 | 每天从14:00到14:59每隔1分钟执行一次触发 |
0/5 14 * | 每天从14:00到14:59每个5分钟执行一次触发 |
0/5 14,18 * | 每天从14:00到14:59和18:00到18:59每隔5分钟执行一次触发 |
0-5 14 * | 每天从14:00到14:05每隔1分钟执行一次触发 |
10,44 14 * 3 WED | 3月的每个星期3的14:10和14:44分别执行一次触发 |
0 0 1 | 每月的第一天执行一次触发 |