Cron表达式
基础
Cron表达式是一种用于定时任务的格式,包括了秒、分、时、日、月、周和年,每个字段都有特定的取值范围和设置方法。下面是Cron表达式的格式:
以下是Cron表达式的下折线展示,
| | | | | | ±- Year (1970 - 2099)
| | | | | ±— Day of the Week (0 - 6 or SUN - SAT)
| | | | ±----- Month (1 - 12 or JAN - DEC)
| | | ±------- Day of the Month (1 - 31)
| | ±--------- Hour (0 - 23)
| ±----------- Minute (0 - 59)
±------------- Second (0 - 59)
进阶
除了上面例子中的Cron表达式,还有很多其他的表达式,可以通过组合不同的值和符号来实现各种不同的定时任务。下面是一些常用的Cron表达式:
Cron表达式 | 含义 |
---|---|
0 0 * * * * | 每天零点执行任务 |
0 0 0 1 * * * | 每个月的第1天零点执行任务 |
0 0 */3 * * * | 每3天零点执行任务 |
0 0 0-6/2 * * * * | 每隔两小时执行一次任务 |
0 30 10-13 * * 1-5 | 每个工作日的10点30分和11点30分、12点30分和13点30分各执行一次任务 |
0 0 0 15 1 * | 每年1月15日零点执行任务 |
0 0 3 * * 1-5 * | 每个工作日(星期一至星期五)的凌晨3点执行任务 |
其他
这些表达式只是常见的几个例子,实际上Cron表达式有很多变化,可以根据具体的需求来进行设定。在使用Cron表达式时,需要注意以下几点:
- Cron表达式中的每个字段都有特定的取值范围和设置方法,需要按照规则填写。
- Cron表达式可以使用通配符
*
表示不限制特定的时间值。 - Cron表达式中的符号
/
可以用来表示步长,例如0-6/2
表示从0到6每隔两个时间值执行一次任务。 - Cron表达式中的符号
-
可以用来表示范围,例如10-13
表示10点到13点之间的每个小时。 - Cron表达式中的符号
,
可以用来列举多个时间值,例如1,5,10
表示1、5、10三个时间值。 - Cron表达式中可以使用特殊的字符串表示某些时间值,例如
@yearly
表示每年执行一次任务,等价于0 0 1 1 *
。