本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安排 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)。如果不为这些选项指定时间,将在您创建(或更新)任务的时间运行该任务。
打开 AWS DataSync 控制台,网址为https://console.aws.amazon.com/datasync/
。 在左侧导航窗格中,展开数据传输,然后选择任务,然后选择创建任务。
-
配置您任务的源位置和目标位置。
有关更多信息,请参阅 我可以在哪里通过 AWS DataSync传输数据?
-
对于计划频率,执行以下操作之一:
-
如果不想按计划运行任务,请选择未计划。
-
选择每小时,然后选择要在一小时中的哪一分钟运行任务。
-
选择每天,然后输入要运行任务的 UTC 时间。
-
选择每周和一周中的某一天,然后输入要运行任务的 UTC 时间。
-
选择周中日期,选择具体的一天或数天,然后以 HH:MM 格式输入应运行任务的 UTC 时间。
-
选择自定义,然后选择 Cron 表达式或 Rate 表达式。输入任务计划,最小时间间隔为 1 小时。
-
您可以通过使用带有create-task
update-task
、或start-task-execution
命令的--schedule
参数来为 DataSync 任务创建计划。
以下说明介绍了如何使用 create-task
命令执行此操作。
-
复制以下
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 *)
" }' -
对于
--source-location-arn
参数,指定数据传输源位置的 Amazon 资源名称(ARN)。 -
对于
--destination-location-arn
参数,指定数据传输目标位置的 ARN。 -
对于
--schedule
参数,为您的计划指定 cron 或 rate 表达式。在示例中,cron 表达式
设置了在每周日和每周三中午 12:00(UTC 时间)运行的任务计划。cron(0 12 ? * SUN,WED *)
-
运行
create-task
命令创建带有计划的任务。
暂停 DataSync 任务计划
在某些情况下,您可能需要暂停 DataSync 任务计划。例如,您可能需要暂时禁用定期传输,以修复任务中的问题,或对存储系统进行维护。
DataSync 由于以下原因,可能会自动禁用您的任务计划:
-
您的任务因相同错误反复失败。
-
任务正在使用的 AWS 区域被禁用。
打开 AWS DataSync 控制台,网址为https://console.aws.amazon.com/datasync/
。 -
在左侧导航窗格中,展开数据传输,然后选择任务。
-
选择要暂停计划的任务,然后选择编辑。
-
在计划中,关闭启用计划。选择 Save changes(保存更改)。
-
复制以下
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" }' -
对于
--task-arn
参数,指定要暂停其计划的任务 ARN。 -
对于
--schedule
参数,请执行以下操作:-
对于
ScheduleExpression
,为计划指定一个 cron 或 rate 表达式。在示例中,表达式
设置了在每周日和每周三中午 12:00(UTC 时间)运行的任务计划。cron(0 12 ? * SUN,WED *)
-
对于
Status
,指定DISABLED
以暂停任务计划。
-
-
运行
update-task
命令。 -
要恢复计划,请运行相同的
update-task
命令,并将Status
设置为ENABLED
。
检查 DataSync 任务进度表的状态
您可以查看您的 DataSync 任务计划是否已启用。
打开 AWS DataSync 控制台,网址为https://console.aws.amazon.com/datasync/
。 -
在左侧导航窗格中,展开数据传输,然后选择任务。
-
在计划列中,检查任务的计划是启用还是禁用。
-
复制以下
describe-task
命令:aws datasync describe-task \ --task-arn arn:aws:datasync:
us-east-1
:123456789012
:task/task-12345678abcdefgh
-
对于
--task-arn
参数,请指定您想要了解其信息的任务 ARN。 -
运行
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." }, ... }