Créer une sauvegarde planifiée pour une application web à l'aide de PowerShell
Cet exemple de script crée une application web dans App Service avec ses ressources associées, puis crée une sauvegarde planifiée pour celle-ci.
Si nécessaire, installez Azure PowerShell à l’aide des instructions figurant dans le Guide Azure PowerShell, puis exécutez Connect-AzAccount
pour créer une connexion avec Azure.
Exemple de script
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers 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
Nettoyer le déploiement
Une fois l’exemple de script exécuté, la commande suivante permet de supprimer le groupe de ressources, l’application web et toutes les ressources associées.
Remove-AzResourceGroup -Name myResourceGroup -Force
Explication du script
Ce script utilise les commandes suivantes. Chaque commande du tableau renvoie à une documentation spécifique.
Commande | Notes |
---|---|
New-AzResourceGroup | Crée un groupe de ressources dans lequel toutes les ressources sont stockées. |
New-AzStorageAccount | Crée un compte de stockage. |
New-AzStorageContainer | Crée un conteneur de stockage Azure. |
New-AzStorageContainerSASToken | Génère un jeton SAS pour un conteneur de stockage Azure. |
New-AzAppServicePlan | Crée un plan App Service. |
New-AzWebApp | Crée une application web. |
Edit-AzWebAppBackupConfiguration | Modifie la configuration de sauvegarde pour l’application web. |
Get-AzWebAppBackupList | Obtient une liste des sauvegardes d’une application web. |
Get-AzWebAppBackupConfiguration | Obtient la configuration de sauvegarde pour l’application web. |
Étapes suivantes
Pour plus d’informations sur le module Azure PowerShell, consultez Documentation Azure PowerShell.
Vous trouverez des exemples supplémentaires de scripts Azure PowerShell pour Azure App Service Web Apps dans la page Exemples Azure PowerShell.