分享方式:


使用 Azure CLI 管理 Azure 檔案共用備份

Azure CLI 提供管理 Azure 資源的命令行體驗。 其為組建自訂自動化以使用 Azure 資源的絕佳工具。 本文說明如何執行工作,以管理及監視由 Azure 備份進行備份作業的 Azure 檔案共用。 您也可以使用 Azure 入口網站 來執行這些步驟。

必要條件

本文假定您已建立由 Azure 備份所備份的 Azure 檔案共用。 如果您沒有檔案共用,請參閱使用 CLI 備份 Azure 檔案共用,以設定檔案共用的備份副本。 在本文中,您將使用下列資源:

  • 資源群組azurefiles
  • RecoveryServicesVaultazurefilesvault
  • 儲存體帳戶afsaccount
  • 檔案共用azurefiles
  • 本教學課程需要 2.0.18 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。

監視工作

在觸發備份程序或還原作業之後,備份服務會建立用於追蹤的作業。 若要監視已完成或目前正在執行的作業,請使用 az backup job list Cmdlet。 利用 CLI,您也可以暫停目前正在執行的工作,或等候直到作業完成

下列範例會顯示 azurefilesvault 復原服務保存庫的備份作業狀態:

az backup job list --resource-group azurefiles --vault-name azurefilesvault
[
  {
    "eTag": null,
    "id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupJobs/d477dfb6-b292-4f24-bb43-6b14e9d06ab5",
    "location": null,
    "name": "d477dfb6-b292-4f24-bb43-6b14e9d06ab5",
    "properties": {
      "actionsInfo": null,
      "activityId": "3cef43ed-0af4-43e2-b9cb-1322c496ccb4",
      "backupManagementType": "AzureStorage",
      "duration": "0:00:29.718011",
      "endTime": "2020-01-13T08:05:29.180606+00:00",
      "entityFriendlyName": "azurefiles",
      "errorDetails": null,
      "extendedInfo": null,
      "jobType": "AzureStorageJob",
      "operation": "Backup",
      "startTime": "2020-01-13T08:04:59.462595+00:00",
      "status": "Completed",
      "storageAccountName": "afsaccount",
      "storageAccountVersion": "MicrosoftStorage"
    },
    "resourceGroup": "azurefiles",
    "tags": null,
    "type": "Microsoft.RecoveryServices/vaults/backupJobs"
  },
  {
    "eTag": null,
    "id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupJobs/1b9399bf-c23c-4caa-933a-5fc2bf884519",
    "location": null,
    "name": "1b9399bf-c23c-4caa-933a-5fc2bf884519",
    "properties": {
      "actionsInfo": null,
      "activityId": "2663449c-94f1-4735-aaf9-5bb991e7e00c",
      "backupManagementType": "AzureStorage",
      "duration": "0:00:28.145216",
      "endTime": "2020-01-13T08:05:27.519826+00:00",
      "entityFriendlyName": "azurefilesresource",
      "errorDetails": null,
      "extendedInfo": null,
      "jobType": "AzureStorageJob",
      "operation": "Backup",
      "startTime": "2020-01-13T08:04:59.374610+00:00",
      "status": "Completed",
      "storageAccountName": "afsaccount",
      "storageAccountVersion": "MicrosoftStorage"
    },
    "resourceGroup": "azurefiles",
    "tags": null,
    "type": "Microsoft.RecoveryServices/vaults/backupJobs"
  }
]

建立原則

您可以使用下列參數來執行 az backup policy create 命令,以建立原則的備份副本:

  • --backup-management-type – Azure 儲存體
  • --workload-type - AzureFileShare
  • --name – 原則的名稱
  • --policy - JSON 檔案,其中含有適當的排程和保留詳細資料
  • --resource-group - 保存庫的資源群組
  • --vault-name – 保存庫的名稱

範例

az backup policy create --resource-group azurefiles --vault-name azurefilesvault --name schedule20 --backup-management-type AzureStorage --policy samplepolicy.json --workload-type AzureFileShare

JSON 樣本 (samplepolicy.json)

{
  "eTag": null,
  "id": "/Subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupPolicies/schedule20",
  "location": null,
  "name": "schedule20",
  "properties": {
    "backupManagementType": "AzureStorage",
    "protectedItemsCount": 0,
    "retentionPolicy": {
      "dailySchedule": {
        "retentionDuration": {
          "count": 30,
          "durationType": "Days"
        },
        "retentionTimes": [
          "2020-01-05T08:00:00+00:00"
        ]
      },
      "monthlySchedule": null,
      "retentionPolicyType": "LongTermRetentionPolicy",
      "weeklySchedule": null,
      "yearlySchedule": null
    },
    "schedulePolicy": {
      "schedulePolicyType": "SimpleSchedulePolicy",
      "scheduleRunDays": null,
      "scheduleRunFrequency": "Daily",
      "scheduleRunTimes": [
        "2020-01-05T08:00:00+00:00"
      ],
      "scheduleWeeklyFrequency": 0
    },
    "timeZone": "UTC",
    "workLoadType": “AzureFileShare”
  },
  "resourceGroup": "azurefiles",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}

建立備份原則的範例,此原則一天會設定多個備份

此 JSON 樣本適用於下列需求:

  • 排程:在接下來 12 小時每 4 小時備份一次,從上午 8 點 (UTC) 開始。
  • 保留期:每日 - 5 天、每週- 每個星期日 (持續 12 週)、每月 - 每月第一個星期日 (持續 60個月),以及每年 - 1 月的第一個星期日 (持續 10年)
{
    "properties":{
        "backupManagementType": "AzureStorage",
        "workloadType": "AzureFileShare",
        "schedulePolicy": {
            "schedulePolicyType": "SimpleSchedulePolicy",
            "scheduleRunFrequency": "Hourly",
            "hourlySchedule": {
                "interval": 4,
                "scheduleWindowStartTime": "2021-09-29T08:00:00.000Z",
                "scheduleWindowDuration": 12
            }
        },
        "timeZone": "UTC",
        "retentionPolicy": {
            "retentionPolicyType": "LongTermRetentionPolicy",
            "dailySchedule": {
                "retentionTimes": null,
                "retentionDuration": {
                    "count": 5,
                    "durationType": "Days"
                }
            },
            "weeklySchedule": {
                "daysOfTheWeek": [
                    "Sunday"
                ],
                "retentionTimes": null,
                "retentionDuration": {
                    "count": 12,
                    "durationType": "Weeks"
                }
            },
            "monthlySchedule": {
                "retentionScheduleFormatType": "Weekly",
                "retentionScheduleDaily": null,
                "retentionScheduleWeekly": {
                    "daysOfTheWeek": [
                        "Sunday"
                    ],
                    "weeksOfTheMonth": [
                        "First"
                    ]
                },
                "retentionTimes": null,
                "retentionDuration": {
                    "count": 60,
                    "durationType": "Months"
                }
            },
            "yearlySchedule": {
                "retentionScheduleFormatType": "Weekly",
                "monthsOfYear": [
                    "January"
                ],
                "retentionScheduleDaily": null,
                "retentionScheduleWeekly": {
                    "daysOfTheWeek": [
                        "Sunday"
                    ],
                    "weeksOfTheMonth": [
                        "First"
                    ]
                },
                "retentionTimes": null,
                "retentionDuration": {
                    "count": 10,
                    "durationType": "Years"
                }
            }
        }
    }
}

一旦成功建立了原則,命令的輸出就會顯示您在執行命令時當作參數所傳遞的 JSON 原則。

您可以視需要修改原則的 [排程] 和 [資料保留] 區段。

範例

如果您想要在接下來的兩個月保留每個月第一個星期日的備份,請如下所示更新每月排程:

"monthlySchedule": {
        "retentionDuration": {
          "count": 2,
          "durationType": "Months"
        },
        "retentionScheduleDaily": null,
        "retentionScheduleFormatType": "Weekly",
        "retentionScheduleWeekly": {
          "daysOfTheWeek": [
            "Sunday"
          ],
          "weeksOfTheMonth": [
            "First"
          ]
        },
        "retentionTimes": [
          "2020-01-05T08:00:00+00:00"
        ]
      }

修改原則

您可以使用 az backup item set-policy來修改備份原則,以變更備份作業頻率或保留範圍。

若要對原則進行變更,請定義下列參數:

  • --container-name:裝載檔案共用的儲存體帳戶名稱。 若要擷取容器元素的名稱自訂名稱,請使用 az backup container list 命令。
  • --name:您要變更原則的檔案共用名稱。 若要擷取備份項目的名稱自訂名稱,請使用 az backup item list 命令。
  • --policy-name:您要為檔案共用設定的備份原則名稱。 您可以使用 az 備份原則清單 來檢視您保存庫中的所有原則。

下列範例會針對 afsaccount 儲存體帳戶中存在的 azurefiles 檔案共用設定 schedule2 備份原則。

az backup item set-policy --policy-name schedule2 --name azurefiles --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --name "AzureFileShare;azurefiles" --backup-management-type azurestorage --out table

您也可以提供下列兩個額外的參數,藉由使用容器元素和項目的自訂名稱來執行上一個命令:

  • --backup-management-typeazurestorage
  • --workload-typeazurefileshare
az backup item set-policy --policy-name schedule2 --name azurefiles --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --name azurefiles --backup-management-type azurestorage --out table
Name                                  ResourceGroup
------------------------------------  ---------------
fec6f004-0e35-407f-9928-10a163f123e5  azurefiles

輸出中的 Name 屬性與備份服務為您的原則變更作業所建立的作業名稱相對應。 若要追蹤作業的狀態,請使用 az backup job show Cmdlet。

停止保護檔案共用

有兩種方式可停止保護 Azure 檔案共用︰

  • 停止所有未來的備份作業並刪除所有復原點。
  • 停止所有未來的備份作業但保留復原點。

將復原點保留在儲存體中可能會產生相關費用,因為系統將會保留 Azure 備份所建立的基礎快照集。 不過,保留復原點的好處是以後可以在您需要時可以還原檔案共用。 如需復原點保留成本的相關資訊,請參閱 定價詳細資料。 如果您選擇刪除所有復原點,則無法還原檔案共用。

若要停止進行對檔案共用的保護,請定義下列參數:

  • --container-name:裝載檔案共用的儲存體帳戶名稱。 若要擷取容器元素的名稱自訂名稱,請使用 az backup container list 命令。
  • --item-name:您要停止保護的檔案共用名稱。 若要擷取備份項目的名稱自訂名稱,請使用 az backup item list 命令。

停止資料保護並保留復原點

若要停止資料保護但對其進行保留,請使用 az backup protection disable Cmdlet。

下列範例會停止對 azurefiles 檔案共用的保護,但會保留所有復原點。

az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --out table

您也可以提供下列兩個額外的參數,藉由使用容器元素和項目的自訂名稱來執行上一個命令:

  • --backup-management-typeazurestorage
  • --workload-typeazurefileshare
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --out table
Name                                  ResourceGroup
------------------------------------  ---------------
fec6f004-0e35-407f-9928-10a163f123e5  azurefiles

輸出中的 Name 屬性與備份服務為您停止保護作業所建立的作業名稱相對應。 若要追蹤作業的狀態,請使用 az backup job show Cmdlet。

停止保護也不保留復原點

若要停止保護也不要保留復原點,請使用az backup protection disable Cmdlet,並將 delete-backup-data 選項設定為 true

下列範例會停止對 azurefiles 檔案共用的保護,也不會保留復原點。

az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --item-name “AzureFileShare;azurefiles” --delete-backup-data true --out table

您也可以提供下列兩個額外的參數,藉由使用容器元素和項目的自訂名稱來執行上一個命令:

  • --backup-management-typeazurestorage
  • --workload-typeazurefileshare
az backup protection disable --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --delete-backup-data true --out table

繼續保護檔案共用

如果您停止保護 Azure 檔案共用,但保留復原點,您可以在之後恢復保護作業。 如果您沒有保留復原點,就無法恢復保護作業。

若要停止進行對檔案共用的保護作業,請定義下列參數:

  • --container-name:裝載檔案共用的儲存體帳戶名稱。 若要擷取容器元素的名稱自訂名稱,請使用 az backup container list 命令。
  • --item-name:您要恢復保護的檔案共用名稱。 若要擷取備份項目的名稱自訂名稱,請使用 az backup item list 命令。
  • --policy-name:您要為其恢復保護檔案共用的備份原則名稱。

下列範例會使用 az backup protection resume Cmdlet,以使用 schedule1 備份原則來繼續保護 azurefiles 檔案共用。

az backup protection resume --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount” --item-name “AzureFileShare;azurefiles” --policy-name schedule2 --out table

您也可以提供下列兩個額外的參數,藉由使用容器元素和項目的自訂名稱來執行上一個命令:

  • --backup-management-typeazurestorage
  • --workload-typeazurefileshare
az backup protection resume --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --item-name azurefiles --workload-type azurefileshare --backup-management-type Azurestorage --policy-name schedule2 --out table
Name                                  ResourceGroup
------------------------------------  ---------------
75115ab0-43b0-4065-8698-55022a234b7f  azurefiles

輸出中的 Name 屬性與備份服務為您恢復保護作業所建立的作業名稱相對應。 若要追蹤作業的狀態,請使用 az backup job show Cmdlet。

取消註冊儲存體帳戶

如果您想要使用不同的復原服務保存庫來保護特定儲存體帳戶中的檔案共用,首先請停止保護該儲存體帳戶中的所有檔案共用。 然後請從目前用於保護的復原服務保存庫取消註冊帳戶。

您需要提供容器元素名稱以對於儲存體帳戶取消註冊。 若要擷取容器元素的名稱自訂名稱,請使用 az backup container list 命令。

下列範例會使用 az backup container 取消註冊 Cmdlet,從 azurefilesvault 中對於 afsaccount 儲存體帳戶取消註冊。

az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name "StorageContainer;Storage;AzureFiles;afsaccount" --out table

您也可以提供下列兩個額外的參數,藉由使用容器元素和項目的自訂名稱來執行上一個 Cmdlet:

  • --backup-management-typeazurestorage
az backup container unregister --vault-name azurefilesvault --resource-group azurefiles --container-name afsaccount --backup-management-type azurestorage --out table

下一步

如需詳細資訊,請參閱為 Azure 檔案共用備份疑難排解