

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS DataSync 任務執行時的排程
<a name="task-scheduling"></a>

您可以設定 AWS DataSync 任務排程，以在儲存位置之間定期傳輸資料。

## DataSync 任務排程的運作方式
<a name="how-task-scheduling-works"></a>

排程的 DataSync 任務會依您指定的頻率執行，最短間隔為 1 小時。您可以使用 Cron 或 Rate 運算式來建立任務排程。

**重要**  
您無法排程任務以超過 1 小時的間隔執行。

**使用 cron 運算式**  
針對在特定時間和日期執行的任務排程使用 cron 表達式。例如，以下說明如何在 中 AWS CLI 設定任務排程，該排程在每週日和週三的 UTC 下午 12：00 執行。  

```
cron(0 12 ? * SUN,WED *)
```

**使用速率表達式**  
針對定期執行的任務排程使用速率表達式，例如每 12 小時一次。例如，以下說明如何在每 12 小時 AWS CLI 執行的 中設定任務排程：  

```
rate(12 hours)
```

**提示**  
如需 Cron 和 Rate 表達式語法的詳細資訊，請參閱《[https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html)》。

## 建立 DataSync 任務排程
<a name="configure-task-schedule"></a>

您可以使用 DataSync 主控台 AWS CLI或 DataSync API 來排程任務執行的頻率。

### 使用 DataSync 主控台
<a name="configure-task-schedule-console"></a>

下列指示說明如何在建立任務時設定排程。您可以在稍後編輯任務時修改排程。

在 主控台中，某些排程選項可讓您指定任務執行的確切時間 （例如每日下午 10：30)。如果您未包含這些選項的時間，您的任務會在您建立 （或更新） 任務時執行。

1. 開啟 AWS DataSync 主控台，網址為 [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)：//。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**，然後選擇**建立任務**。

1. 設定任務的來源和目的地位置。

   如需詳細資訊，請參閱 [我可以將資料傳輸到哪裡 AWS DataSync？](working-with-locations.md)

1. 對於排程**頻率**，請執行下列其中一項操作：
   + 如果您不希望任務按排程執行，請選擇**未排程**。
   + 選擇**每小時**，然後選擇您希望任務執行的小時內的分鐘。
   + 選擇**每日**，然後輸入您希望任務執行的 UTC 時間。
   + 選擇**每週**和星期幾，然後輸入您希望任務執行的 UTC 時間。
   + 選擇**星期幾**，選擇特定日期，然後輸入任務應以 HH：MM 格式執行的 UTC 時間。
   + 選擇**自訂**，然後選取 **Cron 表達**式或 **Rate 表達**式。輸入您的任務排程，最短間隔為 1 小時。

### 使用 AWS CLI
<a name="configure-task-schedule-api"></a>

您可以使用 `--schedule` 參數搭配 `update-task`、 或 `start-task-execution`命令`create-task`，為 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 *)"
     }'
   ```

1. 針對 `--source-location-arn` 參數，指定您要從中傳輸資料的位置的 Amazon Resource Name (ARN)。

1. 針對 `--destination-location-arn` 參數，指定您要傳輸資料的位置 ARN。

1. 針對 `--schedule` 參數，指定排程的 cron 或 rate 表達式。

   在此範例中，cron 表達式會`cron(0 12 ? * SUN,WED *)`設定在每週日和週三的 UTC 下午 12：00 執行的任務排程。

1. 執行 `create-task`命令以使用排程建立您的任務。

## 暫停 DataSync 任務排程
<a name="pause-task-schedule"></a>

在某些情況下，您可能需要暫停 DataSync 任務排程。例如，您可能需要暫時停用重複傳輸，以修正任務的問題或對儲存系統執行維護。

DataSync 可能會因為下列原因自動停用您的任務排程：
+ 您的任務重複失敗，並出現相同的錯誤。
+ 您可以[停用任務正在使用 AWS 區域](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)的 。

### 使用 DataSync 主控台
<a name="pause-scheduled-task-console"></a>

1. 開啟 AWS DataSync 主控台，網址為 [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)：//。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 選擇您要暫停排程的任務，然後選擇**編輯**。

1. 針對**排程**，關閉**啟用排程**。選擇 **Save changes** (儲存變更)。

### 使用 AWS CLI
<a name="pause-scheduled-task-cli"></a>

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"
     }'
   ```

1. 針對 `--task-arn` 參數，指定您要暫停排程之任務的 ARN。

1. 針對 `--schedule` 參數，執行下列動作：
   + 對於 `ScheduleExpression`，請為您的排程指定 cron 或 rate 表達式。

     在此範例中，表達式會`cron(0 12 ? * SUN,WED *)`設定任務排程，每週日和週三在 UTC 的中午 12：00 執行。
   + 針對 `Status`，指定 `DISABLED` 以暫停任務排程。

1. 執行 `update-task` 命令。

1. 若要繼續排程，請執行相同的`update-task`命令，並將 `Status` 設定為 `ENABLED`。

## 檢查 DataSync 任務排程的狀態
<a name="check-scheduled-task"></a>

您可以查看 DataSync 任務排程是否已啟用。

### 使用 DataSync 主控台
<a name="check-scheduled-task-console"></a>

1. 開啟 AWS DataSync 主控台，網址為 [https://console.aws.amazon.com/datasync/](https://console.aws.amazon.com/datasync/)：//。

1. 在左側導覽窗格中，展開**資料傳輸**，然後選擇**任務**。

1. 在**排程**欄中，檢查任務的排程是否啟用或停用。

### 使用 AWS CLI
<a name="check-scheduled-task-cli"></a>

1. 複製下列`describe-task`命令：

   ```
   aws datasync describe-task \
     --task-arn arn:aws:datasync:us-east-1:123456789012:task/task-12345678abcdefgh
   ```

1. 針對 `--task-arn` 參數，指定您要取得相關資訊之任務的 ARN。

1. 執行 `describe-task` 命令。

您會收到回應，提供任務的詳細資訊，包括其排程。（下列範例主要著重於任務排程組態，不會顯示完整`describe-task`回應。)

此範例顯示任務的排程已手動停用。如果 DataSync 已停用排程`SERVICE`，您會看到 的錯誤訊息`DisabledReason`，以協助您了解任務持續失敗的原因。如需詳細資訊，請參閱[故障診斷 AWS DataSync 問題](troubleshooting-datasync.md)。

```
{
    "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."
    },
    ...
}
```