cron表达式
我们在使用定时调度任务的时候,最常用的就是cron表达式。通过cron表达式来指定任务在某个时间点或者周期性执行。
范围:
-
秒(0-59)(可选)
-
分(0-59)
-
时(0-23)
-
日(1-31)
-
月(1-12)
-
周(1-7),星期一到星期天
-
年(可选)
通配符
Cron表达式中的通配符是用于指定时间范围的特殊字符,使得表达式的编写更加灵活和方便。以下是Cron表达式中常见的通配符及其介绍:
通配符 | 含义 |
---|---|
* | 匹配该字段所有取值 |
? | 标准的cron语法不支持,但是在支持扩展cron语法的工具中是可以使用的,比如Quartz工具。但是只能在日和周中使用,表示不指定值。日和周是互斥的,指定了其中一个,另外一个必须使用 ? |
/ | 用于表示步长。例如,在分钟字段中使用“*/15”表示每15分钟 |
, | 枚举多个值。例如,在小时字段中使用“8,12,16”表示在8点、12点和16点执行任务 |
- | 指定一个连续的时间范围。例如,在小时字段中使用“9-17”表示从早上9点到下午5点 |
L | 在日期和星期字段中具有特殊意义,在日期字段中表示一个月的最后一天,在星期字段中表示一个月的最后一个工作日 |
注意: 在使用 ?
时,要留意是否支持这个语法
常用示例
1、每天凌晨2点执行
0 2 * * *
2、每周一上午10点30分执行一次
30 10 * * 1
3、每月的第一天下午5点执行一次
0 17 1 * *
4、每隔30分钟执行一次
*/30 * * * *