Cron 表达式参考 - 亚马逊 EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Cron 表达式参考

Cron 表达式有六个必填字段,之间以空格分隔。

语法

cron(fields)
字段 通配符

分钟

0-59

, - * /

小时

0-23

, - * /

D ay-of-month

1-31

, - * ? / L W

月份

1-12 或 JAN-DEC

, - * /

D ay-of-week

1-7 或 SUN-SAT

, - * ? L #

1970-2199

, - * /

通配符
  • ,(逗号)通配符包含其他值。在 “月” 字段中,一月、二月、三月包括一月、二月和三月。

  • -(破折号)通配符用于指定范围。在 “日” 字段中,1-15 包括指定月份的第 1 天到第 15 天。

  • *(星号)通配符包含该字段中的所有值。在“Hours(小时)”字段中,* 包括每个小时。不能同时在 D ay-of-month 和 D ay-of-week 字段中使用 *。如果您在一个中使用它,则必须在另一个中使用 ?

  • /(斜杠)通配符指定增量。在“分钟”字段中,您可以输入 1/10 以指定从一个小时的第一分钟开始的每个第十分钟 (例如,第 11 分钟、第 21 分钟和第 31 分钟,依此类推)。

  • 那个 (问号)通配符指定任何。在 D ay-of-month 字段中,您可以输入 7,如果一周中的任何一天可以接受,则可以输入 在 D ay-of-week 字段中。

  • D ay-of-month 或 D ay-of-week 字段中的 L 通配符指定一个月或一周的最后一天。

  • D ay-of-month 字段中的W通配符指定工作日。在 D ay-of-month 字段中,3W指定最接近该月第三天的工作日。

  • D ay-of-week 字段中的 # 通配符指定一个月内一周中指定某一天的特定实例。例如,3#2 指该月的第二个星期二:3 指的是星期二,因为它是每周的第三天,2 是指该月内该类型的第二天。

    注意

    如果使用 '#' 字符,则只能在 day-of-week 字段中定义一个表达式。例如,"3#1,6#3" 是无效的,因为它被解释为两个表达式。

限制
  • 您不能在同一 cron 表达式中指定 D ay-of-month 和 D ay-of-week 字段。如果您在其中一个字段中指定值或*(星号),则必须使用? (问号)在另一个。

  • 不支持产生的速率快于 1 分钟的 Cron 表达式。

示例

在创建带计划的规则时,可以使用以下示例 cron 字符串。

分钟 小时 日期 月份 星期几 含义

0

10

*

*

?

*

每天上午 10:00(UTC+0)跑步

15

12

*

*

?

*

每天下午 12:15(UTC+0)跑步

0

18

?

*

MON-FRI

*

每周一至周五下午 6:00(UTC+0)跑步

0

8

1

*

?

*

每月第 1 天上午 8:00(UTC+0)跑步

0/15

*

*

*

?

*

每 15 分钟运行一次

0/10

*

?

*

MON-FRI

*

从星期一到星期五,每 10 分钟运行一次

0/5

8-17

?

*

MON-FRI

*

周一至周五上午 8:00 至下午 5:55 之间,每 5 分钟跑一次(UTC+0)

0/30

20-2

?

*

MON-FRI

*

周一至周五每隔 30 分钟跑一次,起始日晚上 10:00 至次日凌晨 2:00(UTC)

运行时间为周一早上 12:00 至凌晨 2:00(世界标准时间)。

以下示例创建了一条规则,该规则每天下午 12:00 UTC+0 运行。

aws events put-rule --schedule-expression "cron(0 12 * * ? *)" --name MyRule1

以下示例创建了一条规则,该规则每天在下午 2:05 和下午 2:35 UTC+0 下午 2:35 运行。

aws events put-rule --schedule-expression "cron(5,35 14 * * ? *)" --name MyRule2

以下示例创建了一条规则,该规则在 2019 年至 2022 年期间每个月的最后一个星期五上午 10:15 UTC+0 运行。

aws events put-rule --schedule-expression "cron(15 10 ? * 6L 2019-2022)" --name MyRule3