cron 表达式
概念
Cron 表达式是一个指定定时任务执行时间的字符串表达式,由六或七个空格分隔的时间字段组成。
分别是:秒、分、时、日、月、星期,以及可选的年份。
时间字段
- 秒:0-59
- 分:0-59
- 时:0-23
- 日:1-31
- 月:1-12 或 JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC 英文缩写
- 星期:1-7 (1是星期天) 或者 SUN, MON, TUE, WED, THU, FRI, SAT
- (可选) 年份:留空表示每年都执行,或者具体年份
特殊字符
*: 匹配任意值,例如在分钟字段使用表示每分钟都执行,: 用于分隔多个值,例如在星期字段使用2,4表示周二和周四执行/: 用于指定时间间隔,例如在小时字段使用2/3表示每3小时执行一次,从2点开始-: 用于指定范围,例如在日字段使用1-3表示从第1天到第3天?: 仅在日期和星期字段中使用,表示不指定值,通常用于避免冲突,比如每个月的第20天,不管第20天是星期几L: 仅在日期和星期字段中使用,表示最后一个,或者每个月的最后一个星期几W: 仅在日期字段中使用,表示为最近工作日(周一至周五),如“15W”放在每月(day-of-month)字段上表示为“到本月15日最近的工作日”,如果15这天是周六,则14号就触发,否则15号触发#: 仅在星期字段中使用,表示第几个星期几(例如6#3表示每月的第三个周六)
Cron 表达式的例子
每分钟的第30秒执行一次
30 * * * * *
每天凌晨1点执行
0 0 1 * * *
每月的第一天和第十五天的中午12点执行
0 0 12 1,15 * *