

# 计划爬网程序
<a name="schedule-crawler"></a>

您可以根据需要或定期计划运行 AWS Glue 爬网程序。当您根据计划设置爬网程序时，您可以指定包含约束，如爬网程序运行的频率、在一周中的那些天运行以及具体时间。您可以以 *cron* 格式创建这些自定义计划。有关更多信息，请参阅 Wikipedia 中的 [cron](http://en.wikipedia.org/wiki/Cron)。

当您为设置爬网程序计划时，您应该考虑 cron 的功能和限制。例如，如果您选择在每月第 31 天运行您的爬网程序，请记住，有些月份没有 31 天。

**Topics**
+ [创建爬网程序计划](create-crawler-schedule.md)
+ [为现有爬网程序创建计划](Update-crawler-schedule.md)

# 创建爬网程序计划
<a name="create-crawler-schedule"></a>

您可以使用 AWS Glue 控制台或 AWS CLI 为爬网程序创建计划。

------
#### [ AWS 管理控制台 ]

1. 登录 AWS 管理控制台 并打开位于 [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue\) 的 AWS Glue 控制台。

1. 在导航窗格中选择 **Crawlers (爬网程序)**。

1. 请按照[配置爬网程序](define-crawler.md)部分中的步骤 1-3 操作。

1. 在[步骤 4：设置输出和计划](define-crawler-set-output-and-scheduling.md)中，选择一个**爬网程序计划**以设置运行频率。您可以选择每小时、每天、每周、每月运行爬网程序，也可以使用 cron 表达式定义自定义计划。

   cron 表达式是一个表示计划模式的字符串，由 6 个字段组成，用空格隔开：\$1 \$1 \$1 \$1 \$1 <minute> <hour> <day of month> <month> <day of week> <year> 

   例如，要在每天午夜运行任务，cron 表达式为：0 0 \$1 \$1 ? \$1

   有关更多信息，请参阅 [Cron 表达式](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html#CronExpressions)。

1. 查看您配置的爬网程序设置，然后创建爬网程序以按计划运行。

------
#### [ AWS CLI ]

```
aws glue create-crawler 
 --name myCrawler \
 --role AWSGlueServiceRole-myCrawler  \
 --targets '{"S3Targets":[{Path="s3://amzn-s3-demo-bucket/"}]}' \
 --schedule cron(15 12 * * ? *)
```

------

有关使用 cron 安排作业和爬网程序的更多信息，请参阅[用于作业和爬网程序的基于时间的计划](monitor-data-warehouse-schedule.md)。

# 为现有爬网程序创建计划
<a name="Update-crawler-schedule"></a>

按照以下步骤设置现有爬网程序的定期计划。

------
#### [ AWS 管理控制台 ]

1. 登录 AWS 管理控制台，然后打开 AWS Glue 控制台，网址为：[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue\)。

1. 在导航窗格中选择 **Crawlers (爬网程序)**。

1. 从可用列表中选择要计划的爬网程序。

1. 从**操作菜单**上选择**编辑**。

1. 向下滚动至**步骤 4：设置输出和计划**，然后选择**编辑**。

1.  在**爬网程序计划**下更新您的爬网程序计划。

1. 选择**更新**。

------
#### [ AWS CLI ]

使用以下 CLI 命令更新现有爬网程序配置：

```
aws glue update-crawler-schedule 
   --crawler-name myCrawler
   --schedule cron(15 12 * * ? *)
```

------