Cron参数解析

Cron 参数 :
1 Cron 表达式是一个字符串,字符串以 5 6 个空格隔开,分为 6 7 个域,每一个域代表一个含义, Cron 有如下两种语法格式:
Seconds Minutes Hours DayofMonth Month DayofWeek Year Seconds Minutes Hours DayofMonth Month DayofWeek
2 、每一个域可出现的字符如下: Seconds: 可出现 ", - * /" 四个字符,有效范围为 0-59 的整数
Minutes: 可出现 ", - * /" 四个字符,有效范围为 0-59 的整数
Hours: 可出现 ", - * /" 四个字符,有效范围为 0-23 的整数
DayofMonth: 可出现 ", - * / ? L W C" 八个字符,有效范围为 0-31 的整数
Month: 可出现 ", - * /" 四个字符,有效范围为 1-12 的整数或 JAN-DEc
DayofWeek: 可出现 ", - * / ? L C #" 四个字符,有效范围为 1-7 的整数或 SUN-SAT 两个范围。 1 表示星期天, 2 表示星期一, 依次类推
Year: 可出现 ", - * /" 四个字符,有效范围为 1970-2099 年   
3 、每一个域都使用数字,但还可以出现如下特殊字符,它们的含义是:
(1)* :表示匹配该域的任意值,假如在 Minutes 域使用 *, 即表示每分钟都会触发事件。
(2)?: 只能用在 DayofMonth DayofWeek 两个域。它也匹配域的任意值,但实际不会。因为 DayofMonth DayofWeek 会相互影响。例如想在每月的 20 日触发调度,不管 20 日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?, 其中最后一位只能用?,而不能使用 * ,如果使用 * 表示不管星期几都会触发,实际上并不是这样。
(3)-: 表示范围,例如在 Minutes 域使用 5-20 ,表示从 5 分到 20 分钟每分钟触发一次
(4)/ :表示起始时间开始触发,然后每隔固定时间触发一次, n/m表示从n开始,每次增加m 。 例如在 Minutes 域使用 5/20, 则意味着 5 分钟触发一次,而 25 45 等分别触发一次 .
n/m表示从n开始,每次增加m
(5),: 表示列出枚举值值。例如:在 Minutes 域使用 5,20 ,则意味着在 5 20 分每分钟触发一次。
(6)L:表示最后 ,它是单词LAST的缩写,只能出现在 DayofWeek DayofMonth 域,如果在 DayofWeek 域使用 5L, 意味着在最后的一个星期四触发。
(7)W: 表示有效工作日 ( 周一到周五 ), 只能出现在 DayofMonth 域,系统将在离指定日期的最近的有效工作日触发事件。例如:在 DayofMonth 使用 5W ,如果 5 日是星期六,则将在最近的工作日:星期五,即 4 日触发。如果 5 日是星期天,则在 6 ( 周一 ) 触发;如果 5 日在星期一到星期五中的一天,则就在 5 日触发。另外一点, W 的最近寻找不会跨过月份。
(8)LW: 这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。
(9)#: 用于确定每个月第几个星期几,只能出现在 DayofMonth 域。例如在 4#2 ,表示某月的第二个星期三。
举几个例子 :
0 0 2 1 * ? * 表示在每月的 1 日的凌晨 2 点调度任务
0 15 10 ? * MON-FRI 表示周一到周五每天上午 10 15 执行作业
0 15 10 ? 6L 2002-2006 表示 2002-2006 年的每个月的最后一个星期五上午 10:15 执行作
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值