安排 AWS DataSync 任务的运行时间 - AWS DataSync

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

安排 AWS DataSync 任务的运行时间

您可以设置 AWS DataSync 任务计划,以便在存储位置之间定期传输数据。

DataSync 任务调度的工作原理

计划 DataSync 任务以您指定的频率运行,最小间隔为 1 小时。您可以使用 cron 或 rate 表达式创建任务计划。

重要

您无法将任务安排为以快于 1 小时的间隔运行。

使用 cron 表达式

对于在特定时间和日期运行的任务计划,请使用 cron 表达式。例如,下面展示了如何在 AWS CLI 中配置任务计划,使其在每周日和周三中午 12:00(UTC 时间)运行。

cron(0 12 ? * SUN,WED *)
使用 rate 表达式

对定期运行的任务计划(例如每 12 小时运行一次),请使用 rate 表达式。例如,您可以通过以下方式在中配置每 12 小时运行一次 AWS CLI 的任务计划:

rate(12 hours)
提示

有关 cron 和速率表达式语法的更多信息,请参阅 Amazon EventBridge 用户指南

创建 DataSync 任务计划

您可以使用 DataSync 控制台、 AWS CLI或 DataSync API 来计划任务的运行频率。

以下说明介绍了在创建任务时,如何设置计划。稍后,在编辑任务时,您还可以修改计划。

在控制台中,一些计划选项允许您指定任务运行的确切时间(例如每天晚上 10:30)。如果不为这些选项指定时间,将在您创建(或更新)任务的时间运行该任务。

  1. 打开 AWS DataSync 控制台,网址为https://console.aws.amazon.com/datasync/

  2. 在左侧导航窗格中,展开数据传输,然后选择任务,然后选择创建任务

  3. 配置您任务的源位置和目标位置。

    有关更多信息,请参阅 我可以在哪里通过 AWS DataSync传输数据?

  4. 对于计划频率,执行以下操作之一:

    • 如果不想按计划运行任务,请选择未计划

    • 选择每小时,然后选择要在一小时中的哪一分钟运行任务。

    • 选择每天,然后输入要运行任务的 UTC 时间。

    • 选择每周和一周中的某一天,然后输入要运行任务的 UTC 时间。

    • 选择周中日期,选择具体的一天或数天,然后以 HH:MM 格式输入应运行任务的 UTC 时间。

    • 选择自定义,然后选择 Cron 表达式Rate 表达式。输入任务计划,最小时间间隔为 1 小时。

您可以通过使用带有create-taskupdate-task、或start-task-execution命令的--schedule参数来为 DataSync 任务创建计划。

以下说明介绍了如何使用 create-task 命令执行此操作。

  1. 复制以下 create-task 命令:

    aws datasync create-task \ --source-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-12345678abcdefgh \ --destination-location-arn arn:aws:datasync:us-east-1:123456789012:location/loc-abcdefgh12345678 \ --schedule '{ "ScheduleExpression": "cron(0 12 ? * SUN,WED *)" }'
  2. 对于 --source-location-arn 参数,指定数据传输源位置的 Amazon 资源名称(ARN)。

  3. 对于 --destination-location-arn 参数,指定数据传输目标位置的 ARN。

  4. 对于 --schedule 参数,为您的计划指定 cron 或 rate 表达式。

    在示例中,cron 表达式 cron(0 12 ? * SUN,WED *) 设置了在每周日和每周三中午 12:00(UTC 时间)运行的任务计划。

  5. 运行 create-task 命令创建带有计划的任务。

暂停 DataSync 任务计划

在某些情况下,您可能需要暂停 DataSync 任务计划。例如,您可能需要暂时禁用定期传输,以修复任务中的问题,或对存储系统进行维护。

DataSync 由于以下原因,可能会自动禁用您的任务计划:

  1. 打开 AWS DataSync 控制台,网址为https://console.aws.amazon.com/datasync/

  2. 在左侧导航窗格中,展开数据传输,然后选择任务

  3. 选择要暂停计划的任务,然后选择编辑

  4. 计划中,关闭启用计划。选择 Save changes(保存更改)

  1. 复制以下 update-task 命令:

    aws datasync update-task \ --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh \ --schedule '{ "ScheduleExpression": "cron(0 12 ? * SUN,WED *)", "Status": "DISABLED" }'
  2. 对于 --task-arn 参数,指定要暂停其计划的任务 ARN。

  3. 对于 --schedule 参数,请执行以下操作:

    • 对于 ScheduleExpression,为计划指定一个 cron 或 rate 表达式。

      在示例中,表达式 cron(0 12 ? * SUN,WED *) 设置了在每周日和每周三中午 12:00(UTC 时间)运行的任务计划。

    • 对于 Status,指定 DISABLED 以暂停任务计划。

  4. 运行 update-task 命令。

  5. 要恢复计划,请运行相同的 update-task 命令,并将 Status 设置为 ENABLED

检查 DataSync 任务进度表的状态

您可以查看您的 DataSync 任务计划是否已启用。

  1. 打开 AWS DataSync 控制台,网址为https://console.aws.amazon.com/datasync/

  2. 在左侧导航窗格中,展开数据传输,然后选择任务

  3. 计划列中,检查任务的计划是启用还是禁用。

  1. 复制以下 describe-task 命令:

    aws datasync describe-task \ --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
  2. 对于 --task-arn 参数,请指定您想要了解其信息的任务 ARN。

  3. 运行 describe-task 命令。

您将收到提供任务详细信息的响应,其中包括任务的计划。(下面的示例主要关注任务计划配置,不显示完整的 describe-task 响应)。

该示例显示任务的计划已手动禁用。如果计划被禁用 DataSync SERVICE,则您会看到一条错误消息DisabledReason,以帮助您了解任务一直失败的原因。有关更多信息,请参阅 对 AWS DataSync 传输问题进行故障排除

{ "TaskArn": "arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh", "Status": "AVAILABLE", "Schedule": { "ScheduleExpression": "cron(0 12 ? * SUN,WED *)", "Status": "DISABLED", "StatusUpdateTime": 1697736000, "DisabledBy": "USER", "DisabledReason": "Manually disabled by user." }, ... }