إنشاء نسخة احتياطية مجدولة لتطبيق ويب باستخدام PowerShell

ينشئ هذا البرنامج النصي نموذج تطبيق ويب في "App Service" مع الموارد المرتبطة به، ثم يقوم بإنشاء نسخة احتياطية مجدولة لها.

إذا لزم الأمر، فقم بتثبيت Azure PowerShell باستخدام التعليمات الموجودة في ⁧⁩دليل Azure PowerShell⁧⁩، ثم قم بتشغيل ⁧Connect-AzAccount⁩ لإنشاء اتصال مع Azure.

نموذج البرنامج النصي

ملاحظة

تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az 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 إنشاء خطة App Service.
New-AzWebApp إنشاء تطبيق ويب.
⁩"Edit-AzWebAppBackupConfiguration"⁧ تحرير تكوين النسخ الاحتياطي لتطبيق الويب.
⁩"Get-AzWebAppBackupList"⁧ الحصول على قائمة النسخ الاحتياطي لتطبيق ويب.
⁩"Get-AzWebAppBackupConfiguration"⁧ الحصول على تكوين النسخ الاحتياطي لتطبيق الويب.

الخطوات التالية

لمزيد من المعلومات حول وحدة Azure PowerShell، راجع وثائق Azure PowerShell.

يمكن العثور على نماذج Azure PowerShell الإضافية لتطبيقات Azure App Service Web Apps في نماذج Azure PowerShell.