Share via


Gerir cópias de segurança de partilhas de ficheiros do Azure com a CLI do Azure

A CLI do Azure fornece uma experiência de linha de comandos para gerir recursos do Azure. É uma excelente ferramenta para criar automatização personalizada para utilizar recursos do Azure. Este artigo explica como executar tarefas para gerir e monitorizar as partilhas de ficheiros do Azure que são criadas em cópia de segurança por Azure Backup. Também pode executar estes passos com o portal do Azure.

Pré-requisitos

Este artigo pressupõe que já tem uma cópia de segurança de uma partilha de ficheiros do Azure Azure Backup. Se não tiver uma, consulte Criar cópias de segurança de partilhas de ficheiros do Azure com a CLI para configurar a cópia de segurança das partilhas de ficheiros. Para este artigo, utilize os seguintes recursos:

  • Grupo de recursos: azurefiles
  • RecoveryServicesVault: azurefilesvault
  • Conta de Armazenamento: afsaccount
  • Partilha de Ficheiros: azurefiles
  • Este tutorial requer a versão 2.0.18 ou posterior da CLI do Azure. Se utilizar o Azure Cloud Shell, a versão mais recente já está instalada.

Monitorizar trabalhos

Quando aciona operações de cópia de segurança ou restauro, o serviço de cópia de segurança cria uma tarefa para controlo. Para monitorizar tarefas concluídas ou atualmente em execução, utilize o cmdlet az backup job list . Com a CLI, também pode suspender uma tarefa atualmente em execução ou aguardar até que uma tarefa seja concluída.

O exemplo seguinte apresenta o estado das tarefas de cópia de segurança do cofre dos Serviços de Recuperação 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"
  }
]

Criar política

Pode criar uma política de cópia de segurança ao executar o comando az backup policy create com os seguintes parâmetros:

  • --backup-management-type – Armazenamento do Azure
  • --workload-type - AzureFileShare
  • --name – Nome da política
  • --policy - ficheiro JSON com detalhes adequados para agendamento e retenção
  • --resource-group - Grupo de recursos do cofre
  • --vault-name – Nome do cofre

Exemplo

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

JSON de exemplo (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"
}

Exemplo para criar uma política de cópia de segurança que configura várias cópias de segurança por dia

Este JSON de exemplo destina-se aos seguintes requisitos:

  • Agenda: faça uma cópia de segurança a cada 4 horas a partir das 8:00 (UTC) para as próximas 12 horas.
  • Retenção: Diariamente - 5 dias, Semanalmente - Todos os Domingos durante 12 semanas, Mensal - Primeiro Domingo de cada mês durante 60 meses, e Anual - Primeiro Domingo de Janeiro durante 10 anos.
{
    "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"
                }
            }
        }
    }
}

Assim que a política for criada com êxito, a saída do comando apresentará o JSON da política que passou como um parâmetro durante a execução do comando.

Pode modificar a secção agendamento e retenção da política conforme necessário.

Exemplo

Se quiser manter a cópia de segurança do primeiro domingo de cada mês durante dois meses, atualize a agenda mensal conforme abaixo:

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

Modificar política

Pode modificar uma política de cópia de segurança para alterar a frequência de cópia de segurança ou o intervalo de retenção com az backup item set-policy.

Para alterar a política, defina os seguintes parâmetros:

  • --container-name: o nome da conta de armazenamento que aloja a partilha de ficheiros. Para obter o nome ou o nome amigável do contentor, utilize o comando az backup container list .
  • --name: o nome da partilha de ficheiros para a qual pretende alterar a política. Para obter o nome ou o nome amigável do item de cópia de segurança, utilize o comando az backup item list .
  • --policy-name: o nome da política de cópia de segurança que pretende definir para a partilha de ficheiros. Pode utilizar az backup policy list para ver todas as políticas do seu cofre.

O exemplo seguinte define a política de cópia de segurança schedule2 para a partilha de ficheiros azurefiles presente na conta de armazenamento afsaccount .

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

Também pode executar o comando anterior com os nomes amigáveis do contentor e do item ao fornecer os seguintes dois parâmetros adicionais:

  • --backup-management-type: azurestorage
  • --workload-type: azurefileshare
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

O atributo Nome na saída corresponde ao nome da tarefa criada pelo serviço de cópia de segurança para a operação de política de alteração. Para controlar o estado da tarefa, utilize o cmdlet az backup job show .

Parar a proteção numa partilha de ficheiros

Existem duas formas de parar a proteção de partilhas de ficheiros do Azure:

  • Pare todas as tarefas de cópia de segurança futuras e elimine todos os pontos de recuperação.
  • Pare todas as tarefas de cópia de segurança futuras, mas deixe os pontos de recuperação.

Poderá existir um custo associado à saída dos pontos de recuperação no armazenamento, uma vez que os instantâneos subjacentes criados pelo Azure Backup serão mantidos. A vantagem de sair dos pontos de recuperação é a opção para restaurar a partilha de ficheiros mais tarde, se quiser. Para obter informações sobre o custo de sair dos pontos de recuperação, veja os detalhes dos preços. Se optar por eliminar todos os pontos de recuperação, não poderá restaurar a partilha de ficheiros.

Para parar a proteção para a partilha de ficheiros, defina os seguintes parâmetros:

  • --container-name: o nome da conta de armazenamento que aloja a partilha de ficheiros. Para obter o nome ou o nome amigável do contentor, utilize o comando az backup container list .
  • --item-name: o nome da partilha de ficheiros para a qual pretende parar a proteção. Para obter o nome ou o nome amigável do item de cópia de segurança, utilize o comando az backup item list .

Parar a proteção e manter pontos de recuperação

Para parar a proteção ao reter dados, utilize o cmdlet az backup protection .

O exemplo seguinte interrompe a proteção para a partilha de ficheiros azurefiles , mas mantém todos os pontos de recuperação.

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

Também pode executar o comando anterior com o nome amigável do contentor e do item ao fornecer os seguintes dois parâmetros adicionais:

  • --backup-management-type: azurestorage
  • --workload-type: azurefileshare
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

O atributo Nome na saída corresponde ao nome da tarefa criada pelo serviço de cópia de segurança para a operação de proteção de paragem. Para controlar o estado da tarefa, utilize o cmdlet az backup job show .

Parar a proteção sem reter pontos de recuperação

Para parar a proteção sem reter pontos de recuperação, utilize o cmdlet az backup protection disable com a opção delete-backup-data definida como true.

O exemplo seguinte para a proteção da partilha de ficheiros azurefiles sem reter pontos de recuperação.

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

Também pode executar o comando anterior com o nome amigável do contentor e do item ao fornecer os seguintes dois parâmetros adicionais:

  • --backup-management-type: azurestorage
  • --workload-type: azurefileshare
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

Retomar a proteção numa partilha de ficheiros

Se tiver parado a proteção para uma partilha de ficheiros do Azure, mas tiver mantido pontos de recuperação, pode retomar a proteção mais tarde. Se não mantiver os pontos de recuperação, não poderá retomar a proteção.

Para retomar a proteção da partilha de ficheiros, defina os seguintes parâmetros:

  • --container-name: o nome da conta de armazenamento que aloja a partilha de ficheiros. Para obter o nome ou o nome amigável do contentor, utilize o comando az backup container list .
  • --item-name: o nome da partilha de ficheiros para a qual pretende retomar a proteção. Para obter o nome ou o nome amigável do item de cópia de segurança, utilize o comando az backup item list .
  • --policy-name: o nome da política de cópia de segurança para a qual pretende retomar a proteção para a partilha de ficheiros.

O exemplo seguinte utiliza o cmdlet az backup protection resume para retomar a proteção da partilha de ficheiros azurefiles com a política de cópia de segurança schedule1 .

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

Também pode executar o comando anterior com o nome amigável do contentor e do item ao fornecer os seguintes dois parâmetros adicionais:

  • --backup-management-type: azurestorage
  • --workload-type: azurefileshare
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

O atributo Nome na saída corresponde ao nome da tarefa criada pelo serviço de cópia de segurança para a operação de proteção de currículos. Para controlar o estado da tarefa, utilize o cmdlet az backup job show .

Anular o registo de uma conta de armazenamento

Se quiser proteger as partilhas de ficheiros numa conta de armazenamento específica através de um cofre dos Serviços de Recuperação diferente, primeiro pare a proteção para todas as partilhas de ficheiros nessa conta de armazenamento. Em seguida, anule o registo da conta do cofre dos Serviços de Recuperação atualmente utilizado para proteção.

Tem de fornecer um nome de contentor para anular o registo da conta de armazenamento. Para obter o nome ou o nome amigável do contentor, utilize o comando az backup container list .

O exemplo seguinte anule o registo da conta de armazenamento afsaccount a partir de azurefilesvault com o cmdlet az backup container unregister .

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

Também pode executar o cmdlet anterior com o nome amigável do contentor ao fornecer o seguinte parâmetro adicional:

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

Passos seguintes

Para obter mais informações, veja Resolver problemas de cópia de segurança de partilhas de ficheiros do Azure.