Compartilhar via


Gerenciar backups de compartilhamentos de arquivo do Azure com a CLI do Azure

A CLI do Azure fornece uma experiência de linha de comando para gerenciamento de recursos do Azure. Ela é uma excelente ferramenta para a criação de automação personalizada para usar os recursos do Azure. Este artigo explica como realizar tarefas para gerenciar e monitorar os compartilhamentos de arquivos do Azure cujo backup é feito pelo Backup do Azure. Essas etapas também podem ser executadas com o Portal do Azure.

Pré-requisitos

Este artigo pressupõe que você já tem um compartilhamento de arquivo do Azure cujo backup é feito pelo Backup do Azure. Se não tiver um, confira como Fazer backup de compartilhamentos de arquivo do Azure com a CLI para configurar o backup para seus compartilhamentos de arquivos. Neste artigo, você usará os seguintes recursos:

  • Grupo de recursos: azurefiles
  • RecoveryServicesVault: azurefilesvault
  • Conta de armazenamento: afsaccount
  • Compartilhamento de arquivo: azurefiles
  • Este tutorial exige a versão 2.0.18 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada.

Monitorar trabalhos

Ao acionar operações de backup ou de restauração, o serviço de backup cria um trabalho de rastreamento. Para monitorar trabalhos concluídos ou em execução no momento, use o cmdlet az backup job list. Com a CLI, você também pode suspender um trabalho atualmente em execução ou aguardar até que um trabalho seja concluído.

O próximo exemplo exibe o status dos trabalhos de backup do cofre dos Serviços de Recuperação do 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

Para criar uma política de backup incremental, execute o comando az backup policy create com os seguintes parâmetros:

  • --backup-management-type – Armazenamento do Azure
  • --workload-type – AzureFileShare
  • --name – o nome da política
  • --policy – arquivo JSON com os detalhes adequados para agenda 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 backup que configura vários backups por dia

Este JSON de amostra é para os seguintes requisitos:

  • Agendamento: fazer backup a cada 4 horas a partir das 8h (UTC) pelas próximas 12 horas.
  • Retenção: Diária – 5 dias, Semanal – Todos os domingos durante 12 semanas, Mensal – Primeiro domingo de cada mês durante 60 meses e Anual – Primeiro domingo de janeiro por 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"
                }
            }
        }
    }
}

Depois que a política for criada com êxito, a saída do comando exibirá o JSON de política que você passou como um parâmetro ao executar o comando.

Você pode modificar a seção de agendamento e de retenção da política conforme necessário.

Exemplo

Se você quiser manter o backup do primeiro domingo de cada mês por 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 a política

Você pode modificar uma política de backup para alterar a frequência de backup ou o período de retenção usando az backup item set-policy.

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

  • --container-name: o nome da conta de armazenamento que hospeda o compartilhamento de arquivo. Para recuperar o nome ou nome amigável do seu contêiner, use o comando az backup container list.
  • --name: o nome do compartilhamento de arquivos cuja política você deseja alterar. Para recuperar o nome ou nome amigável de seu item de backup, use o comando az backup item list.
  • --policy-name: o nome da política de backup que você deseja definir para o compartilhamento de arquivos. Você pode usar az backup policy list para exibir todas as políticas de seu cofre.

O exemplo a seguir define a política de backup schedule2 para o compartilhamento de arquivos 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

Você também pode executar o comando anterior usando os nomes amigáveis do contêiner e do item fornecendo 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 Name na saída corresponde ao nome do trabalho criado pelo serviço de backup para a operação de restauração. Para acompanhar o status do trabalho, use o cmdlet az backup job show.

Interromper a proteção em um compartilhamento de arquivo

Há duas maneiras de interromper a proteção de compartilhamentos de arquivos do Azure:

  • Interromper todos os trabalhos de backup futuros e excluir todos os pontos de recuperação.
  • Interromper todos os trabalhos de backup futuros, mas deixar os pontos de recuperação.

Pode haver um custo associado ao deixar os pontos de recuperação no armazenamento, uma vez que os instantâneos subjacentes criados pelo Backup do Azure serão retidos. A vantagem de deixar os pontos de recuperação é a opção de restaurar o compartilhamento de arquivos mais tarde, se desejar. Para obter informações sobre o custo de deixar os pontos de recuperação, confira os detalhes de preços. Caso opte por excluir todos os pontos de recuperação, não poderá restaurar o compartilhamento de arquivos.

Para interromper a proteção do compartilhamento de arquivos, defina os seguintes parâmetros:

  • --container-name: o nome da conta de armazenamento que hospeda o compartilhamento de arquivo. Para recuperar o nome ou nome amigável do seu contêiner, use o comando az backup container list.
  • --item-name: o nome do compartilhamento de arquivos cuja proteção você deseja interromper. Para recuperar o nome ou nome amigável de seu item de backup, use o comando az backup item list.

Interromper a proteção e manter os pontos de recuperação

Para interromper a proteção, mas manter a retenção de dados, use o cmdlet az backup protection disable.

O exemplo a seguir interrompe a proteção do compartilhamento de arquivos azurefiles, mas reté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

Você também pode executar o comando anterior usando o nome amigável do contêiner e do item fornecendo 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 Name na saída corresponde ao nome do trabalho criado pelo serviço de backup para a operação de interrupção de proteção. Para acompanhar o status do trabalho, use o cmdlet az backup job show.

Interromper a proteção sem reter os pontos de recuperação

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

O exemplo a seguir interrompe a proteção do compartilhamento de arquivos azurefiles sem reter 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” --delete-backup-data true --out table

Você também pode executar o comando anterior usando o nome amigável do contêiner e do item fornecendo 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 em um compartilhamento de arquivo

Se você tiver interrompido a proteção de um compartilhamento de arquivos do Azure, mas reteve os pontos de recuperação, poderá retomar a proteção mais tarde. Se você não retiver os pontos de recuperação, não poderá retomar a proteção.

Para retomar a proteção para o compartilhamento de arquivos, defina os seguintes parâmetros:

  • --container-name: o nome da conta de armazenamento que hospeda o compartilhamento de arquivo. Para recuperar o nome ou nome amigável do seu contêiner, use o comando az backup container list.
  • --item-name: o nome do compartilhamento de arquivos cuja proteção você deseja retomar. Para recuperar o nome ou nome amigável de seu item de backup, use o comando az backup item list.
  • --policy-name: o nome da política de backup para cujo compartilhamento de arquivos você deseja retomar a proteção.

O exemplo a seguir usa o cmdlet az backup protection resume para retomar a proteção do compartilhamento de arquivos azurefiles usando a política de backup 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

Você também pode executar o comando anterior usando o nome amigável do contêiner e do item fornecendo 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 Name na saída corresponde ao nome do trabalho criado pelo serviço de backup para a operação de retomada de proteção. Para acompanhar o status do trabalho, use o cmdlet az backup job show.

Cancelar o registro de uma conta de armazenamento

Se quiser proteger os compartilhamentos de arquivos em uma determinada conta de armazenamento usando um cofre diferente dos Serviços de Recuperação, primeiro interrompa a proteção de todos os compartilhamentos de arquivos nessa conta de armazenamento. Em seguida, cancele o registro da conta do cofre dos Serviços de Recuperação usado no momento para proteção.

Você precisa fornecer um nome de contêiner para cancelar o registro da conta de armazenamento. Para recuperar o nome ou o nome amigável do seu contêiner, use o comando az backup container list.

O exemplo a seguir cancela o registro da conta de armazenamento afsaccount do azurefilesvault usando o cmdlet az backup container unregister.

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

Você também pode executar o cmdlet anterior usando o nome amigável do contêiner fornecendo 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

Próximas etapas

Saiba mais em Solucionar problemas de Backup de compartilhamento de Arquivos do Azure.