

# 用于作业和爬网程序的基于时间的计划
<a name="monitor-data-warehouse-schedule"></a>

您可以在 AWS Glue 中定义用于作业和爬网程序的基于时间的计划。这些计划的定义使用类似于 Unix 的 [cron](http://en.wikipedia.org/wiki/Cron) 语法。您可以按 [协调世界时 (UTC)](http://en.wikipedia.org/wiki/Coordinated_Universal_Time) 指定时间，计划的最小精度是 5 分钟。

要了解有关配置任务和爬网程序以使用计划运行的详细信息，请参阅[使用触发器启动作业和爬网程序](trigger-job.md)。

## Cron 表达式
<a name="CronExpressions"></a>

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

**语法**

```
cron({{Minutes}} {{Hours}} {{Day-of-month}} {{Month}} {{Day-of-week}} {{Year}})
```


| **字段** | **值** | **通配符** | 
| --- | --- | --- | 
| 分钟 | 0-59 | , - \* / | 
| 小时 | 0-23 | , - \* / | 
| Day-of-month | 1-31 | , - \* ? / L W | 
| Month | 1-12 或 JAN-DEC | , - \* / | 
| 星期几 | 1-7 或 SUN-SAT | , - \* ? / L | 
| Year | 1970-2199 | , - \* / | 

**通配符**
+ **,**（逗号）通配符包含其他值。在 `Month` 字段中，`JAN,FEB,MAR` 将包含 January、February 和 March。
+ **-**（破折号）通配符用于指定范围。在 `Day` 字段中，1-15 将包含指定月份的 1-15 日。
+ **\***（星号）通配符包含该字段中的所有值。在 `Hours` 字段中，**\*** 将包含每个小时。
+ **/**（正斜杠）通配符用于指定增量。在 `Minutes` 字段中，您可以输入 **1/10** 以指定从一个小时的第一分钟开始的每个第十分钟（例如，第 11 分钟、第 21 分钟和第 31 分钟）。
+ **?**（问号）通配符用于指定一个或另一个。在 `Day-of-month` 字段中，您可以输入 **7**，如果您不介意 7 日是星期几，则可以在“星期几”字段中输入 **?**。
+ ** 或 ** 字段中的 `Day-of-month`L`Day-of-week` 通配符用于指定月或周的最后一天。
+ `Day-of-month` 字段中的 **W** 通配符用于指定工作日。在 `Day-of-month` 字段中，`3W` 用于指定最靠近当月的第三周的日。

**限制**
+ 您无法在同一 cron 表达式中为 `Day-of-month` 和 `Day-of-week` 字段同时指定值。如果您在其中一个字段中指定了值，则必须在另一个字段中使用 **?**（问号）。
+ 不支持产生的速率快于 5 分钟的 Cron 表达式。

**示例**  
在创建计划时，您可以使用以下示例 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 分钟运行一次 | 

例如，要按计划在每天 12:15 UTC 运行，请指定：

```
cron(15 12 * * ? *)   
```