0
点赞
收藏
分享

微信扫一扫

Cron表达式学习


常用规则助记

Cron表达式是一个以5或6个空格隔开为6或7个域的字符串

​​#​​ 结构

左->右:

顺序

秒数

分钟

小时

日期

月份

星期

年(可选)

取值

0-59

0-59

0-23

1-30(31)

1-12或JAN-DEC

1-7或SUN-SAT

1970-2099

特殊字符

, - * /

, - * /

, - * /

, - * / ? L W C

, - * /

, - * / L # C

, - * /

每一个域都使用数字,也可出现特殊字符:

字符

用途

例子

*

匹配该域的任意值

分钟域使用*, 表示每分钟都会触发事件

?

只能用在日期和星期两个域

每月的20日触发调度:13 13 15 20 * ?

-

范围

分钟域使用5-20:从5分到20分钟每分钟触发一次

/

起始时间开始触发,然后每隔固定时间触发一次

分钟域使用5/20:5分钟触发一次,而25,45等分别触发一次

,

列出枚举值

分钟域使用5,20:在5和20分每分钟触发一次

L

最后,只能出现在星期和日期域

在星期域使用5L:在最后的一个星期四触发

W

有效工作日(周一到周五),只能出现在日期域,在离指定日期的最近的有效工作日触发事件

5W:星期六->星期五;星期天->周一

LW

在某个月最后一个工作日

最后一个星期五

#

确定每个月第几个星期几,只能出现在日期域

6#3:某月的第三个周五

注意:在 Cron 表达式中的“日”和“星期”字段同时指定值时,两者为“或”关系,即两者的条件分别均生效

​​#​​ 示例

  • */5 * * * * * * 表示每5秒触发一次
  • 0 * * * * ? 每1分钟触发一次
  • 0 0 * * * ? 每天每1小时触发一次
  • 0 0 10 * * ? 每天10点触发一次
  • 0 0 2 1 * * * 表示在每月的1日的凌晨2点触发
  • 0 15 10 * * MON-FRI * 表示在周一到周五每天上午10:15触发
  • 0 0 10,14,16 * * * * 表示在每天上午10点,下午2点,4点触发
  • 0 */30 9-17 * * * * 表示在每天上午9点到下午5点内每半小时触发
  • 0 0 12 * * WED * 表示在每个星期三中午12点触发
举报

相关推荐

0 条评论