Gerenciar backups de compartilhamento de arquivos do Azure com a CLI do Azure
A CLI do Azure fornece uma experiência de linha de comando para gerenciar recursos do Azure. É uma ótima ferramenta para criar automação personalizada para usar recursos do Azure. Este artigo explica como executar tarefas para gerenciar e monitorar os compartilhamentos de arquivos do Azure cujo backup é feito pelo Backup do Azure. Você também pode executar essas etapas com o portal do Azure.
Pré-requisitos
Este artigo pressupõe que você já tenha um compartilhamento de arquivos do Azure com backup do Backup do Azure. Se você não tiver um, consulte Fazer backup de compartilhamentos de arquivos do Azure com a CLI para configurar o backup para seus compartilhamentos de arquivos. Para este artigo, você usa os seguintes recursos:
- Grupo de recursos: azurefiles
- RecoveryServicesVault: azurefilesvault
- Conta de armazenamento: afsaccount
- Compartilhamento de arquivos: azurefiles
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
- Este tutorial requer a versão 2.0.18 ou posterior da CLI do Azure. Se estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.
Monitorizar trabalhos
Quando você aciona operações de backup ou restauração, o serviço de backup cria um trabalho para 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 em execução no momento ou aguardar até que um trabalho seja concluído.
O exemplo a seguir exibe o status dos trabalhos de backup para o 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
Você pode criar uma política de backup executando 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 - arquivo JSON com detalhes apropriados para agendamento e retenção
- --resource-group - Grupo de recursos do vault
- --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
Exemplo de 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"
}
Exemplo para criar uma política de backup que configura vários backups por dia
Este exemplo de JSON é para os seguintes requisitos:
- Horário: Faça backup a cada 4 horas a partir das 8h (UTC) para as 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 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"
}
}
}
}
}
Depois que a política for criada com êxito, a saída do comando exibirá o JSON de política que você passou como parâmetro durante a execução do comando.
Você pode modificar a seção de agendamento e 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 programação mensal como 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
Você pode modificar uma política de backup para alterar a frequência de backup ou o intervalo 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 arquivos. Para recuperar o nome ou o nome amigável do seu contêiner, use o comando az backup container list.
- --name: O nome do compartilhamento de arquivos para o qual você deseja alterar a política. Para recuperar o nome ou o nome amigável do item de backup, use o comando az backup item list.
- --policy-name: o nome da política de backup que você deseja definir para seu compartilhamento de arquivos. Você pode usar a lista de políticas az backup para visualizar todas as políticas do seu cofre.
O exemplo a seguir define a política de backup do 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 para o contêiner e o item fornecendo os dois parâmetros adicionais a seguir:
- --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 sua operação de política de alteração. Para controlar o status do trabalho, use 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 todos os trabalhos de backup futuros e exclua todos os pontos de recuperação.
- Pare todos os trabalhos de backup futuros, mas deixe os pontos de recuperação.
Pode haver um custo associado a deixar os pontos de recuperação no armazenamento, porque os instantâneos subjacentes criados pelo Backup do Azure serão mantidos. O benefício 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, consulte os detalhes de preços. Se você optar por excluir todos os pontos de recuperação, não poderá restaurar o compartilhamento de arquivos.
Para interromper 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 arquivos. Para recuperar o nome ou o nome amigável do seu contêiner, use o comando az backup container list.
- --item-name: O nome do compartilhamento de arquivos para o qual você deseja interromper a proteção. Para recuperar o nome ou o nome amigável do item de backup, use o comando az backup item list.
Parar a proteção e reter pontos de recuperação
Para interromper a proteção enquanto retém dados, use o cmdlet az backup protection disable .
O exemplo a seguir interrompe a proteção para o compartilhamento de arquivos 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
Você também pode executar o comando anterior usando o nome amigável para o contêiner e o item fornecendo os dois parâmetros adicionais a seguir:
- --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 sua operação de proteção de parada. Para controlar o status do trabalho, use o cmdlet az backup job show .
Parar a proteção sem reter pontos de recuperação
Para interromper a proteção sem reter 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 para o compartilhamento de arquivos 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
Você também pode executar o comando anterior usando o nome amigável para o contêiner e o item fornecendo os dois parâmetros adicionais a seguir:
- --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 você interrompeu a proteção para um compartilhamento de arquivos do Azure, mas manteve 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 arquivos. Para recuperar o nome ou o nome amigável do seu contêiner, use o comando az backup container list.
- --item-name: O nome do compartilhamento de arquivos para o qual você deseja retomar a proteção. Para recuperar o nome ou o nome amigável do item de backup, use o comando az backup item list.
- --policy-name: o nome da política de backup para a qual você deseja retomar a proteção para o compartilhamento de arquivos.
O exemplo a seguir usa o cmdlet az backup protection resume para retomar a proteção para o 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 para o contêiner e o item fornecendo os dois parâmetros adicionais a seguir:
- --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 sua operação de proteção de currículo. Para controlar o status do trabalho, use o cmdlet az backup job show .
Anular o registo de uma conta de armazenamento
Se você quiser proteger seus compartilhamentos de arquivos em uma conta de armazenamento específica usando um cofre de Serviços de Recuperação diferente, primeiro interrompa a proteção para todos os compartilhamentos de arquivos nessa conta de armazenamento. Em seguida, cancele o registro da conta do cofre dos Serviços de Recuperação atualmente usado 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 para o 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óximos passos
Para obter mais informações, consulte Solucionar problemas de backup de compartilhamentos de arquivos do Azure.