Поделиться через


Создание резервной копии веб-приложения по расписанию с помощью PowerShell

С помощью этого скрипта можно создать в службе приложений веб-приложение со связанными ресурсами, а затем создать для него запланированную резервную копию.

При необходимости установите Azure PowerShell с помощью инструкции, приведенной в руководстве Azure PowerShell, а затем выполните команду Connect-AzAccount, чтобы создать подключение к Azure.

Пример скрипта

Примечание.

Мы рекомендуем использовать модуль Azure Az PowerShell для взаимодействия с Azure. Сведения о начале работы см. в статье "Установка Azure PowerShell". Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на 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

Очистка развертывания

Выполнив пример сценария, вы можете удалить группу ресурсов, веб-приложение и все связанные ресурсы, используя следующую команду.

Remove-AzResourceGroup -Name myResourceGroup -Force

Описание скрипта

Этот скрипт использует следующие команды. Для каждой команды в таблице приведены ссылки на соответствующую документацию.

Команда Примечания.
New-AzResourceGroup Создает группу ресурсов, в которой хранятся все ресурсы.
New-AzStorageAccount Создает учетную запись хранения.
New-AzStorageContainer Позволяет создать контейнер хранилища Azure.
New-AzStorageContainerSASToken Создание маркера SAS для контейнера хранилища Azure.
New-AzAppServicePlan Создает план службы приложений.
New-AzWebApp Создает веб-приложение.
Edit-AzWebAppBackupConfiguration Позволяет изменять параметры резервного копирования для веб-приложения.
Get-AzWebAppBackupList Получение списка резервных копий веб-приложения.
Get-AzWebAppBackupConfiguration Позволяет получать параметры резервного копирования для веб-приложения.

Следующие шаги

Дополнительные сведения о модуле Azure PowerShell см. в документации по Azure PowerShell.

Дополнительные примеры скриптов Azure PowerShell для веб-приложений службы приложений Azure доступны здесь.