Create a scheduled backup for a web app using PowerShell (Creación de una copia de seguridad programada para una aplicación web mediante PowerShell)
En este script de ejemplo se crea una aplicación web en App Service con sus recursos relacionados y, a continuación, se crea una copia de seguridad programada para ella.
Si es necesario, instale Azure PowerShell con la instrucción que se encuentra en la Guía de Azure PowerShell y, luego, ejecute Connect-AzAccount
para crear una conexión con Azure.
Script de ejemplo
Nota:
Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Para empezar, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a 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
Limpieza de la implementación
Después de ejecutar el script de ejemplo, se puede usar el comando siguiente para quitar el grupo de recursos, la aplicación web y todos los recursos relacionados.
Remove-AzResourceGroup -Name myResourceGroup -Force
Explicación del script
Este script usa los siguientes comandos. Cada comando de la tabla crea un vínculo a documentación específica del comando.
Get-Help | Notas |
---|---|
New-AzResourceGroup | Crea un grupo de recursos en el que se almacenan todos los recursos. |
New-AzStorageAccount | Crea una cuenta de Storage. |
New-AzStorageContainer | Crea un contenedor de Azure Storage. |
New-AzStorageContainerSASToken | Genera un token de SAS para un contenedor de Azure Storage. |
New-AzAppServicePlan | Crea un plan de App Service, |
New-AzWebApp | Crea una aplicación web. |
Edit-AzWebAppBackupConfiguration | Edita la configuración de copia de seguridad para la aplicación web. |
Get-AzWebAppBackupList | Obtiene una lista de copias de seguridad de una aplicación web. |
Get-AzWebAppBackupConfiguration | Obtiene la configuración de copia de seguridad para la aplicación web. |
Pasos siguientes
Para obtener más información sobre el módulo de Azure PowerShell, consulte la documentación de Azure PowerShell.
Puede encontrar más ejemplos de Azure PowerShell para Azure App Service Web Apps en los ejemplos de PowerShell.