Cron表达式详解

介绍

  • Cron 是一个在 Unix 及类似操作系统上执行计划任务的程序
  • Cron表达式是一个表示时间周期的字符串

详解

  • Cron表达式是一个字符串,有6或7个域组成,每个域代表一个含义,并且域和域之间以空格分隔

语法格式

小时日期月份星期年份
格式1SecondsMinutesHoursDayofMonthMonthDayofWeekYear
格式2SecondsMinutesHoursDayofMonthMonthDayofWeek

字段含义

字段允许值允许特殊符号
秒(Seconds)0 ~ 59, - * /
分(Minutes)0 ~ 59, - * /
小时(Hours)0 ~ 23, - * /
日期(DayofMonth)1 ~ 31,但需考虑当月实际天数, - * ? / L W C
月份(Month)1 ~ 12 或 JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC, - * /
星期(DayofWeek)1 ~ 7 或 SUN, MON, TUE, WED, THU, FRI, SAT (1 = SUN), - * ? / L C #
年(Year,可选)1970 ~ 2099, - * /

特殊符号

特殊符号说明
*匹配该域的任意值,例如:Seconds域表示每秒种,Minutes域表示每分钟等 。
??只能用在日期(DayofMonth)和星期(DayofWeek)两个域。表示"非明确的值",当表达式中一个指定值之后,为避免冲突,将另外一个互斥设为?。例如:想在每个月1号触发调度,不管1号是星期几,则只能使用如下:0 0 0 1 * ?,其中最后一位只能使用?,不是使用*。
-表示范围,例如:Minutes域使用5-20,表示从第5分钟到第20分钟,每分钟触发一次 。
/表示增量,每隔增量的时间出发一次,例如:Minutes域使用5/20,表示从第5分钟开始,每隔20分钟触发一次,即5,25,45分别触发一次。
,表示枚举值,例如:Minutes域使用5,20,表示在第5分钟和第20分钟分别触发一次。
##只能用在星期(DayofWeek)域。表示这个月第几个星期几。例如:6#3 or FRI#3,表示这个月的第3个星期五(6:周五,3:第3个)。如果指定日期不存在,则不会触发。
LL只能用在日期(DayofMonth)和星期(DayofWeek)两个域。是单词Last的缩写。 在日期(DayofMonth)域中,L表示一个月的最后一天,即1月31号,4月30号等。如果L前有数字,例如:6L,表示这个月倒数第6天。在星期(DayofWeek)域中,L表示星期的最后一天,即7或者SAT(星期六)。如果L前有数字,例如:FRIL,表示这个月的最后一个星期五。
WW只能用在日期(DayofMonth)域。表示指定日期最近的工作日。例如:15W,如果15号是周六,则任务在14号(星期五)触发。如果15号是周日,则任务在16号(星期一)触发。如果15号是工作日(星期一到星期五),则任务15号(工作日当天)触发。注意:W不能跨月,如果1号是星期六,任务则会在下个星期一(3号)触发。W只能配合单独数字使用,不能是范围或列表 。
LW表示每个月的最后一个工作日。
CC只能用在日期(DayofMonth)和星期(DayofWeek)两个域。是单词Calendar的缩写,表示计划所关联的日期。在日期(DayofMonth)域中,5C表示5日后的第一天,即6号。在星期(DayofWeek)域中,1C表示星期日后的第一天 ,即星期一。

示例

cron表达式含义
*/5 * * * * ?每隔5秒触发一次
0 */1 * * * ?每隔1分钟触发一次
0 0-5 14 * * ?下午2:00到2:05期间每隔1分钟触发一次
0 0 10,14,16 * * ?每天上午10点,下午2点,下午4点整触发一次
0 15 10 L * ?每个月最后一天上午10:15触发一次
0 15 10 LW * ?每个月最后一个工作日上午10:15触发一次
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值