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

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

使用 cron 调度金丝雀运行

当您安排金丝雀时,使用 cron 表达式可以让您灵活地进行计划。Cron 表达式按下表所列顺序包含 5 或 6 个字段。这些字段以空格分隔。根据您是使用 CloudWatch 控制台创建金丝雀,还是使用Amazon CLI或者Amazon开发工具包。当您使用控制台时,您只指定前五个字段。当您使用Amazon CLI或者AmazonSDK,您可以指定所有六个字段,并且必须指定*(对于 )Year字段。

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

分钟

0-59

, - * /

小时

0-23

, - * /

日期

1-31

, - * ? / L W

1-12 或 JAN-DEC

, - * /

星期几

1-7 或 SUN-SAT

, - * ? L #

年份

*

特殊字符

  • 这些区域有:(逗号)在字段的表达式中包含多个值。例如,在 “月份” 字段中,JAN、FEB、FEB 和 MAR 将包含 January、Feab 和 MAR。

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

  • 这些区域有:*(星号)特殊字符包含该字段中的所有值。在 “小时” 字段中,*包含每个小时。您无法使用*在同一表达式中,同时在同一表达式中的 “日期” 和 “星期几” 字段中。如果您在一个中使用它,则必须在另一个中使用 ?

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

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

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

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

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

Limitations

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

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

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

Examples

您可以在创建 Canary 时参考以下示例 cron 字符串。以下示例是使用Amazon CLI或者Amazon用于创建或更新金丝雀的 SDK。如果您使用的是 CloudWatch 控制台,请省略最终的*在每个示例中。

Expression 意义

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 分钟运行一次