0%

Cron 表达式

cron 是已存在很长时间的 UNIX 工具,因此其调度功能强大且经过验证。

cron 表达式是由 7 段构成:秒 分 时 日 月 星期 年(可选)

  • “*” 用于选择字段中的所有值,例如,在分钟字段中表示“每分钟”。
  • “?” 在需要在允许使用字符的两个字段之一中指定某些内容而在另一个不允许使用的字段中指定内容时很有用。例如,如果我希望触发器在每月的某个特定日期(例如 10 号)触发,但不在乎是星期几,则将其 10 输入“月日”字段,以及?“星期几”字段中。
  • “-” 用于指定范围。例如,10-12 在小时字段中表示“小时 10、11 和 12”。
  • “,” 用于指定其他值。例如,MON,WED,FRI 在“星期几”字段中表示“星期一,星期三和星期五的日子”。
  • “/” 用于指定增量。例如,0/15 在秒字段中表示“秒 0、15、30 和 45”。和 5/15 在秒字段的意思是“秒 5,20,35 和 50”。
  • “L” 在允许使用的两个字段中都有不同的含义。例如,“L 月日”字段中的值表示“月的最后一天”
  • “W” 用于指定最接近给定日期的工作日(星期一至星期五)。例如,如果您要指定“15W 月日”字段的值,则含义是:“离月 15 日最近的工作日”。
  • “#” 用于指定每月的“第 n 个” XXX 天。例如,“6#3 星期几”字段中的值表示“每月的第三个星期五”(第 6 天=星期五,“#3” =每月的第三个星期五)。

例子:

表达式 含义
0 0 12 * * ? 每天中午 12 点(中午)触发
0 15 10 ? * * 每天上午 10:15 触发
0 15 10 * * ? 每天上午 10:15 触发
0 15 10 * * ? * 每天上午 10:15 触发
0 15 10 * * ? 2005 2005 年期间,每天上午 10:15 触发
0 * 14 * * ? 每天从下午 2 点开始,直到下午 2:59 结束,每分钟触发一次
0 0/5 14 * * ? 每天从下午 2 点开始,直到下午 2:55,每 5 分钟触发一次
0 0/5 14,18 * * ? 每天从下午 2 点开始到下午 2:55 结束,每 5 分钟触发一次,并且每天下午 6 点开始到下午 6:55 结束,每 5 分钟触发一次
0 0-5 14 * * ? 每天从下午 2 点开始,直到下午 2:05 结束,每分钟触发一次
0 10,44 14 ? 3 WED 3 月的每个星期三下午 2:10 和 2:44 pm 触发
0 15 10 ? * MON-FRI 每个星期一,星期二,星期三,星期四和星期五的上午 10:15 触发
0 15 10 15 * ? 每个月的 15 日上午 10:15 触发
0 15 10 L * ? 每个月的最后一天上午 10:15 触发
0 15 10 L-2 * ? 每个月的倒数第二个上午 10:15 触发
0 15 10 ? * 6L 每个月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6L 2002-2005 在 2002、2003、2004 和 2005 年的每个月的最后一个星期五上午 10:15 触发
0 15 10 ? * 6#3 每个月的第三个星期五上午 10:15 触发
0 0 12 1/5 * ? 从每月的第一天开始,每月每 5 天在中午 12 点(中午)触发
0 11 11 11 11 ? 每年 11 月 11 日上午 11:11 触发

欢迎关注我的其它发布渠道