Amazon EC2 Systems Manager
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用 Systems Manager 的 Cron 和 Rate 表达式

当您创建 Systems Manager Maintenance Window或 状态管理器 关联时,指定一个有关该时段或关联应何时运行的计划。您能够以基于时间的条目 (也称为 cron 表达式) 或基于频率的条目 (也称为 rate 表达式) 的形式指定计划。

如果您使用 Amazon EC2 控制台创建Maintenance Window或关联,则可以使用用户界面中的工具来创建您的计划。如果您要以编程方式或从命令行使用 AWS CLI 等来创建Maintenance Window或关联,则必须以正确格式指定带有 cron 或 rate 表达式的计划参数。

注意

要通过 AWS CLI 创建Maintenance Window,请使用带有 cron 或 rate 表达式的 --schedule 参数。要通过 AWS CLI 创建 状态管理器 关联,请使用带有 cron 或 rate 表达式的 --scheduleExpression 参数。

以下一些示例显示带有 cron 和 rate 表达式的 schedule 参数:

Cron 示例:此 cron 表达式在每个星期二下午 4 点 (16:00) 运行关联。

Copy
--scheduleExpression "cron(0 16 ? * TUE *)"

Rate 示例:此 rate 表达式每隔一天运行Maintenance Window或关联。

Copy
--schedule "rate(2 days)"

重要

与Maintenance Window相比,状态管理器 关联已限制 cron 和 rate 表达式的选项。在您为关联创建这些表达式之前,请查看以下部分中的限制。

如果您不熟悉 cron 和 rate 表达式,则建议您阅读有关 Cron 和 Rate 表达式的一般信息

适用于关联的 Cron 和 Rate 表达式

此部分包括适用于 状态管理器 关联的 cron 和 rate 表达式的示例。在您创建这些表达式之前,请注意以下限制。

  • 关联仅支持以下 cron 表达式:每 1/2、1、2、4、8 或 12 个小时;每天或每周的特定时间。

  • 关联仅支持以下 rate 表达式:30 分钟的时间间隔或大于和小于 31 天。

以下是一些适用于关联的 cron 示例。

适用于关联的 Cron 示例

示例 详细信息

cron(0/30 * * * ? *)

每 30 分钟

cron(0 0/1 * * ? *)

每小时

cron(0 0/2 * * ? *)

每 2 小时

cron(0 0/4 * * ? *)

每 4 小时

cron(0 0/8 * * ? *)

每 8 小时

cron(0 0/12 * * ? *)

每 12 小时

cron(15 13 ? * * *)

每天下午 1:15

cron(15 13 ? * MON *)

每星期一下午 1:15

以下是一些适用于关联的 rate 示例。

适用于关联的 Rate 示例

示例 详细信息

rate(30 minutes)

每 30 分钟

rate(1 hour)

每小时

rate(5 hours)

每 5 小时

rate(15 days)

每 15 天

适用于Maintenance Window的 Cron 和 Rate 表达式

与 状态管理器 关联不同,Maintenance Window 支持所有 cron 和 rate 表达式。以下是一些适用于Maintenance Window的 cron 示例。

适用于Maintenance Window的 Cron 示例

示例 详细信息

0 2 ? 1/1 THU#3 *

每月第三个星期四凌晨 2:00

15 10 ? * * *

每天上午 10:15

0 15 10 ?* MON-FRI

星期一到星期五每天上午 10:15

0 0 2 L * ?

每月最后一天凌晨 2:00

0 15 10 ?* 6L

每月最后一个星期五上午 10:15

以下是一些适用于Maintenance Window的 rate 示例。

适用于Maintenance Window的 Rate 示例

示例 详细信息

rate(30 minutes)

每 30 分钟

rate(1 hour)

每小时

rate(5 hours)

每 5 小时

rate(25 days)

每 25 天

有关 Cron 和 Rate 表达式的一般信息

适用于 Systems Manager 的 Cron 表达式有六个必需字段。这些字段用空格分隔。

分钟 小时 日期 星期几 年代 意义
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/15 * * * ? * 每 15 分钟运行一次
0/10 * ? * MON-FRI * 从星期一到星期五,每 10 分钟运行一次
0/5 8-17 ? * MON-FRI * 在每星期一到星期五的上午 8:00 到下午 5:55 (UTC) 之间,每 5 分钟运行一次

下表显示了必需 cron 条目支持的值:

字段 通配符
分钟 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W
1-12 或 JAN-DEC , - * /
星期几 1-7 或 SUN-SAT , - * ? / L
年代 1970-2199 , - * /

注意

您无法在同一 cron 表达式中的“日期”和“星期几”字段中指定值。如果您在其中一个字段中指定了值,则必须在另一个字段中使用 ? (问号)。

通配符

Cron 表达式支持下列通配符:

  • , (逗号) 通配符包含其他值。在“月份”字段中,JAN、FEB 和 MAR 将包含 January、February 和 March。

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

  • * (星号) 通配符包含该字段中的所有值。在“小时”字段中,* 将包含每个小时。

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

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

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

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

注意

不支持产生的速率快于 5 分钟的 Cron 表达式。对指定星期几值和日期值的支持不完整。您当前必须在以下任一字段中使用“?”字符。

有关 cron 表达式的更多信息,请参阅 Wikipedia 网站上的 CRON 表达式

Rate 表达式

Rate 表达式有以下两个必需字段。这些字段用空格分隔。

字段

正数

单位

分钟、小时或天

注意

如果值等于 1,则单位必须为单数。同样,对于大于 1 的值,单位必须为复数。例如,rate(1 hours) 和 rate(5 hour) 无效,而 rate(1 hour) 和 rate(5 hours) 有效。