使用 cron 安排 Canary 运行 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 cron 安排 Canary 运行

当您安排 Canary 时,使用 cron 表达式可以让您灵活地安排计划。Cron 表达式包含五或六个按下表所列顺序排列的字段。这些字段采用空格分隔。语法根据您创建 Canary 使用的是 CloudWatch 控制台还是 Amazon CLI 或 Amazon SDK 而有所不同。若您使用控制台,则只能指定前五个字段。若使用 Amazon CLI 或 Amazon SDK,则可以指定所有六个字段,而且必须为 Year 字段指定 *

字段 允许的值 允许使用特殊字符

分钟

0-59

, - * /

小时

0-23

, - * /

日期

1-31

, - * ? / L W

月份

1-12 或 JAN-DEC

, - * /

星期几

1-7 或 SUN-SAT

, - * ? L #

年份

*

特殊字符

  • ,(逗号)在字段的表达式中包含多个值。例如,在“Month(月份)”字段中,JAN、FEB 和 MAR 将包含 January、February 和 March。

  • -(破折号)特殊字符用于指定范围。在“日”字段中,1-15 将包含指定月份的 1 - 15 日。

  • *(星号)特殊字符包含该字段中的所有值。在“Hours(小时)”字段中,* 包括每个小时。您不能在同一个表达式的“Day-of-month(日期)”和“Day-of-week(星期几)”字段中同时使用 *。如果您在一个中使用它,则必须在另一个中使用 ?

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

  • ?(问号)用于指定一个或另一个。在“日期”字段中,您可以输入 7,如果您不介意第 7 日是星期几,则可以在“星期几”字段中输入 ?

  • “日期”或“星期几”字段中的 L 通配符用于指定月或周的最后一天。

  • “日期”字段中的 W 通配符用于指定工作日。在“日期”字段中,3W 用于指定最靠近当月的第三周的日。

  • “星期几”字段中的 # 通配符用于指定一个月内所指定星期几的特定实例。例如,3#2 指该月的第二个星期二。3 指的是星期二,因为它是每周的第三天,2 是指该月内该类型的第二天。

限制

  • 您无法在同一 Cron 表达式中为日期和星期几字段同时指定值。如果您在其中一个字段中指定值或 *(星号),则必须在另一个字段中使用 ?(问号)。

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

  • 您不能将 Canary 设置为等待一年以上才能运行,因此 Year 字段中只能指定为 *

示例

创建 Canary 时,您可以参考以下示例 cron 字符串。以下示例展示了使用 Amazon CLI 或 Amazon SDK 创建或更新 Canary 的正确语法。如果您使用的是 CloudWatch 控制台,请省略每个示例末尾的 *

表达式 意义

0 10 * * ? *

每天上午的 10:00 (UTC) 运行

15 12 * * ? *

每天上午的 12:15 (UTC) 运行

0 18 ? * MON-FRI *

每星期一到星期五早上 6:00 (UTC) 运行

0 8 1 * ? *

每月第 1 天上午 8:00 (UTC) 运行

0/10 * ? * MON-SAT *

每周星期一到星期六每 10 分钟运行一次

0/5 8-17 ? * MON-FRI *

星期一到星期五的上午 8:00 和下午 5:55 (UTC) 之间,每 5 分钟运行一次