Criar um backup agendado para um aplicativo Web usando o PowerShell
Este script de exemplo cria uma aplicação Web no Serviço de Aplicações com os respetivos recursos relacionados e, em seguida, cria uma cópia de segurança agendada para o mesmo.
Se for preciso, instale o Azure PowerShell com a instrução que se encontra no Guia do Azure PowerShell e, em seguida, execute Connect-AzAccount
para criar uma ligação ao Azure.
Script de exemplo
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
$webappname="mywebapp$(Get-Random -Minimum 100000 -Maximum 999999)"
$storagename="$($webappname)storage"
$container="appbackup"
$location="West Europe"
# Create a resource group.
New-AzResourceGroup -Name myResourceGroup -Location $location
# Create a storage account.
$storage = New-AzStorageAccount -ResourceGroupName myResourceGroup `
-Name $storagename -SkuName Standard_LRS -Location $location
# Create a storage container.
New-AzStorageContainer -Name $container -Context $storage.Context
# Generates an SAS token for the storage container, valid for 1 year.
# NOTE: You can use the same SAS token to make backups in Web Apps until -ExpiryTime
$sasUrl = New-AzStorageContainerSASToken -Name $container -Permission rwdl `
-Context $storage.Context -ExpiryTime (Get-Date).AddYears(1) -FullUri
# Create an App Service plan in Standard tier. Standard tier allows one backup per day.
New-AzAppServicePlan -ResourceGroupName myResourceGroup -Name $webappname `
-Location $location -Tier Standard
# Create a web app.
New-AzWebApp -ResourceGroupName myResourceGroup -Name $webappname `
-Location $location -AppServicePlan $webappname
# Schedule a backup every day, beginning in one hour, and retain for 10 days
Edit-AzWebAppBackupConfiguration -ResourceGroupName myResourceGroup -Name $webappname `
-StorageAccountUrl $sasUrl -FrequencyInterval 1 -FrequencyUnit Day -KeepAtLeastOneBackup `
-StartTime (Get-Date).AddHours(1) -RetentionPeriodInDays 10
# List statuses of all backups that are complete or currently executing.
Get-AzWebAppBackupList -ResourceGroupName myResourceGroup -Name $webappname
# (OPTIONAL) Change the backup schedule to every 2 days
$configuration = Get-AzWebAppBackupConfiguration -ResourceGroupName myResourceGroup `
-Name $webappname
$configuration.FrequencyInterval = 2
$configuration | Edit-AzWebAppBackupConfiguration
Limpar a implementação
Depois de executar o script de exemplo, o seguinte comando pode ser utilizado para remover o grupo de recursos, a aplicação Web e todos os recursos relacionados.
Remove-AzResourceGroup -Name myResourceGroup -Force
Explicação do script
Este script utiliza os seguintes comandos. Cada comando na tabela liga à documentação específica do comando.
Comando | Notas |
---|---|
New-AzResourceGroup | Cria um grupo de recursos no qual todos os recursos são armazenados. |
New-AzStorageAccount | Cria uma Conta de armazenamento. |
New-AzStorageContainer | Cria um contentor de armazenamento do Azure. |
New-AzStorageContainerSASToken | Gera um token SAS para um contentor de armazenamento do Azure. |
Novo-AzAppServicePlan | Cria um plano do Serviço de Aplicações. |
Novo-AzWebApp | Cria uma aplicação Web. |
Edit-AzWebAppBackupConfiguration | Edita a configuração de cópia de segurança para a aplicação Web. |
Get-AzWebAppBackupList | Obtém uma lista de cópias de segurança para uma aplicação Web. |
Get-AzWebAppBackupConfiguration | Obtém a configuração de cópia de segurança para a aplicação Web. |
Próximos passos
Para obter mais informações sobre o módulo do Azure PowerShell, veja Documentação do Azure PowerShell.
Exemplos adicionais do Azure PowerShell para Aplicativos Web do Serviço de Aplicativo do Azure podem ser encontrados nos exemplos do Azure PowerShell.