Cron适用于周期性执行、日常维护、在某时刻需要完成的单次任务等场景。Cron表达式是一个具有时间含义的字符串,字符串以5个空格隔开,一般分为5个域,格式为X X X X X。其中X是一个域的占位符。单个域有多个取值时,使用半角逗号,隔开取值。
下表为Cron表达式中五个域能够取的值以及支持的特殊字符
域 | 是否必需 | 取值范围 |
---|---|---|
分钟 | 是 | 0-59 |
小时 | 是 | 0-23 |
日期 | 是 | 1-31 |
月份 | 是 | 1-12 |
星期 | 是 | 1-7 |
Cron表达式中的每个域都支持一定数量的特殊字符
特殊字符 | 含义 | 示例 |
---|---|---|
* | 所有可能的值 | 在月域中,*表示每个月;在星期域中,*表示星期的每一天。 |
, | 列出枚举值 | 在分钟域中,5,40表示分别在5分钟和40分钟触发一次。 |
- | 范围 | 在日期域中,5-20表示从5号到20号之间每天触发一次。 |
/ | 指定数值的增量 | 在日期域中,1/5表示从第1号开始,每5天。在小时域中3/8表示从第3小时开始,每8小时。 |
以下为Cron表达式的取值示例
示例 | 说明 |
---|---|
15 10 * * * | 每天上午10:15执行任务 |
0 12 * * * | 每天中午12:00执行任务 |
0 10,14,16 * * * | 每天上午10:00点、下午14:00以及下午16:00执行任务 |
0/40 9-17 * * * | 每天上午09:00到下午17:00时间段内每隔40分钟执行任务 |
0 12 * * 3 | 每个星期三中午12:00执行任务 |
15 10 15 * * | 每月15日上午10:15执行任务 |
15 10 25 * * | 每月25日上午10:15执行任务 |
0,30 14 * 3 3 | 每年3月的每个星期三下午14:00到14:30时间段内执行任务 |