Cron
表达式
Cron
表达式是类似Unix-like
系统中crontab
的定时任务调度描述语句的一种表达式语言,常见于各种任务调度系统中。它用一系列的时间要素来表述一个或者多个特定的时间点,如:
- 周一早上七点;
- 每天凌晨一点;
- ……
cron表达式格式
{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}
Cron
表达式允许的字段和值
占位符
_
:每个时间单位触发一次;,
:分隔数据,1,3 * * * * ?
——每分钟的第一秒、第三秒触发;-
:指定范围,1-5 * * * * ?
——每分钟的第一秒到第五秒每秒钟触发;/
:指定步长,0/5 * * * * ?
——每分钟0秒开始,每五秒钟触发一次;L
:如果日期占位符如果是"L",即意味着当月的最后一天触发;?
:星期与日期互斥,即意味着若明确指定日期触发,则表示星期无意义,以免引起冲突和混乱;#
:用来指定具体的周数,"#"前面代表星期,"#"后面代表本月第几周,比如"2#2"表示本月第二周的星期一,"5#3"表示本月第三周的星期四;
案例
0 0 7 ? * Mon
:周一早上七点触发;0 0 1 * * ?
:每天凌晨一点触发;0 0 0 ? * 3#3
:每月第三周星期二凌晨触发;0 1-30/2 0 ? * 3#3
:每月第三周星期二夜间十二点的前三十分钟从第一分钟开始,每隔两分钟触发一次;