

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 维护时段计划和活动期间选项
<a name="maintenance-windows-schedule-options"></a>

创建维护时段时，必须使用 [Cron 或 Rate 表达式](reference-cron-and-rate-expressions.md)指定维护时段运行的频率。您可以选择性地指定维护时段依据其定期计划运行的日期范围，以及该定期计划所基于的时区。

但请注意，时区选项以及开始日期和结束日期选项彼此互不影响。指定的任何开始日期和结束日期时间（包含或不包含时区偏移量）仅确定维护时段定期运行的*有效期间*。时区选项确定维护时段计划在有效期间*内* 所基于的国际时区。

**注意**  
请以 ISO-8601 时间戳格式指定开始日期和结束日期。例如：`2021-04-07T14:29:00-08:00`  
请以互联网编号分配机构 (IANA) 格式指定时区。例如：`America/Chicago`、`Europe/Berlin` 或 `Asia/Tokyo`。

**Topics**
+ [示例 1：指定维护时段的开始日期](#schedule-example-start-date)
+ [示例 2：指定维护时段的开始日期和结束日期](#schedule-example-start-end-date)
+ [示例 3：创建仅运行一次的维护时段](#schedule-example-one-time)
+ [示例 4：指定维护时段的计划偏移天数](#schedule-example-schedule-offset)

## 示例 1：指定维护时段的开始日期
<a name="schedule-example-start-date"></a>

假设您使用 AWS Command Line Interface (AWS CLI) 创建一个具有以下选项的维护时段：
+ `--start-date 2021-01-01T00:00:00-08:00`
+ `--schedule-timezone "America/Los_Angeles"`
+ `--schedule "cron(0 09 ? * WED *)"`

例如：

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-LAX-Maintenance-Window" \
    --allow-unassociated-targets \
    --duration 3 \
    --cutoff 1 \
    --start-date 2021-01-01T00:00:00-08:00 \
    --schedule-timezone "America/Los_Angeles" \
    --schedule "cron(0 09 ? * WED *)"
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-LAX-Maintenance-Window" ^
    --allow-unassociated-targets ^
    --duration 3 ^
    --cutoff 1 ^
    --start-date 2021-01-01T00:00:00-08:00 ^
    --schedule-timezone "America/Los_Angeles" ^
    --schedule "cron(0 09 ? * WED *)"
```

------

这意味着维护时段只有在到达其指定的开始日期和时间（即美国太平洋时间 2021 年 1 月 1 日星期五中午 12:00）*之后* 才会首次运行。（此时区比 UTC 时间晚 8 个小时。） 在这种情况下，时段的开始日期和时间不表示维护时段首次运行的时间。总的来说，`--schedule-timezone` 和 `--schedule` 值意味着维护时段将在美国太平洋时区（以 IANA 格式“America/Los Angeles”表示）每个星期三的上午 9 点运行。允许时段内的首次执行时间将为美国太平洋时间 2021 年 1 月 4 日星期三上午 9 点。

## 示例 2：指定维护时段的开始日期和结束日期
<a name="schedule-example-start-end-date"></a>

假设您接下来创建一个具有以下选项的维护时段：
+ `--start-date 2019-01-01T00:03:15+09:00`
+ `--end-date 2019-06-30T00:06:15+09:00`
+ `--schedule-timezone "Asia/Tokyo"`
+ `--schedule "rate(7 days)"`

例如：

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-NRT-Maintenance-Window" \
    --allow-unassociated-targets \
    --duration 3 \
    --cutoff 1 \
    --start-date 2019-01-01T00:03:15+09:00 \
    --end-date 2019-06-30T00:06:15+09:00 \
    --schedule-timezone "Asia/Tokyo" \
    --schedule "rate(7 days)"
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-NRT-Maintenance-Window" ^
    --allow-unassociated-targets ^
    --duration 3 ^
    --cutoff 1 ^
    --start-date 2019-01-01T00:03:15+09:00 ^
    --end-date 2019-06-30T00:06:15+09:00 ^
    --schedule-timezone "Asia/Tokyo" ^
    --schedule "rate(7 days)"
```

------

此维护时段的允许时段于日本标准时间 2019 年 1 月 1 日凌晨 3:15 开始。此维护时段的有效期间于日本标准时间 2019 年 6 月 30 日凌晨 6:15 结束。（此时区比 UTC 时间早 9 个小时。） 总的来说，`--schedule-timezone` 和 `--schedule` 值意味着维护时段将在日本标准时区（以 IANA 格式“Asia/Tokyo”表示）每个星期二的凌晨 3:15 运行。这是因为维护时段每七天运行一次，并且于 1 月 1 日星期二凌晨 3:15 变为活动状态。最后一次执行时间为日本标准时间 2019 年 6 月 25 日星期二凌晨 3:15。这是允许的维护时段期限在五天后结束前的最后一个星期二。

## 示例 3：创建仅运行一次的维护时段
<a name="schedule-example-one-time"></a>

现在，您可以创建具有此选项的维护时段：
+ `--schedule "at(2020-07-07T15:55:00)"`

例如：

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-One-Time-Maintenance-Window" \
    --schedule "at(2020-07-07T15:55:00)" \
    --duration 5 \
    --cutoff 2 \
    --allow-unassociated-targets
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-One-Time-Maintenance-Window" ^
    --schedule "at(2020-07-07T15:55:00)" ^
    --duration 5 ^
    --cutoff 2 ^
    --allow-unassociated-targets
```

------

此维护时段仅运行一次，即在 2020 年 7 月 7 日下午 3:55（UTC 时间）运行。根据需要允许维护时段运行最多 5 小时，但在维护时段期限结束前的两小时禁止开始新任务。

## 示例 4：指定维护时段的计划偏移天数
<a name="schedule-example-schedule-offset"></a>

现在，您可以创建具有此选项的维护时段：

```
--schedule-offset 2
```

例如：

------
#### [ Linux & macOS ]

```
aws ssm create-maintenance-window \
    --name "My-Cron-Offset-Maintenance-Window" \
    --schedule "cron(0 30 23 ? * TUE#3 *)" \
    --duration 4 \
    --cutoff 1 \
    --schedule-offset 2 \
    --allow-unassociated-targets
```

------
#### [ Windows ]

```
aws ssm create-maintenance-window ^
    --name "My-Cron-Offset-Maintenance-Window" ^
    --schedule "cron(0 30 23 ? * TUE#3 *)" ^
    --duration 4 ^
    --cutoff 1 ^
    --schedule-offset 2 ^
    --allow-unassociated-targets
```

------

计划偏移是在运行维护时段之前但在 CRON 表达式指定的日期和时间之后等待的天数。

在上面的示例中，CRON 表达式计划一个维护时段，在每月第三个星期二的晚上 11:30 运行：

```
--schedule "cron(0 30 23 ? * TUE#3 *)
```

但是，包括 `--schedule-offset 2` 表示维护时段要到每月第三个星期二*之后* 两天的晚上 11:30 才会运行。

仅针对 CLEN 表达式支持计划偏移。

**更多信息**  
+ [参考：适用于 Systems Manager 的 Cron 和 Rate 表达式](reference-cron-and-rate-expressions.md)
+ [使用控制台创建维护时段](sysman-maintenance-create-mw.md)
+ [教程：使用 AWS CLI 创建和配置维护时段](maintenance-windows-cli-tutorials-create.md)
+ *AWS Systems Manager API 参考*中的 [CreateMaintenanceWindow](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateMaintenanceWindow.html)
+ **《AWS CLI Command Reference》的 AWS Systems Manager 部分中的 [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-maintenance-window.html)
+ IANA 网站上的[时区数据库](https://www.iana.org/time-zones)