مشاركة عبر


استعادة ملفات Azure باستخدام PowerShell

توضح هذه المقالة كيفية استعادة مشاركة ملف كاملة أو ملفات معينة من نقطة استعادة تم إنشاؤها بواسطة خدمة Azure Backup باستخدام Azure PowerShell. يمكنك أيضا استعادة ملفات Azure باستخدام مدخل Microsoft AzureوAzure CLIوواجهة برمجة تطبيقات REST.

يمكنك استعادة مشاركة ملف كاملة أو ملفات معينة على المشاركة. يمكنك استعادة الموقع الأصلي، أو إلى موقع بديل.

تحذير

تأكد من ترقية إصدار PowerShell إلى الحد الأدنى من الإصدار لـ 'Az.RecoveryServices 2.6.0' لنسخ AFS الاحتياطية. لمزيد من المعلومات، راجع القسم الذي يوضح متطلبات هذا التغيير.

إشعار

  • يتم دعم استعادة ملفات Azure فقط ضمن نفس الاشتراك عند استخدام PowerShell أو CLI.
  • لا يدعم استعادة عبر المناطق باستخدام PowerShell أو CLI.
  • يدعم Azure Backup الآن استعادة ملفات أو مجلدات متعددة إلى الموقع الأصلي أو البديل باستخدام PowerShell. راجع هذا القسم من المستند لمعرفة كيفية القيام بذلك.

إحضار نقاط الاسترداد

استخدم Get-AzRecoveryServicesBackupRecoveryPoint لسرد جميع نقاط الاسترداد للعنصر الذي تم نسخه احتياطياً.

في النص التالي:

  • المتغير $rp عبارة عن مجموعة من نقاط الاسترداد لعنصر النسخ الاحتياطي المحدد من الأيام السبعة الماضية.
  • تم فرز المصفوفة بترتيب زمني عكسي باستخدام أحدث نقطة استرداد في الفهرس 0.
  • استخدم فهرسة صفيف PowerShell القياسية لاختيار نقطة الاسترداد.
  • في المثال، يحدد $rp[0] أحدث نقطة استرداد.
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "azurefiles" -Name "azurefilesvault"
$Container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -Status Registered -FriendlyName "afsaccount" -VaultId $vault.ID
$BackupItem = Get-AzRecoveryServicesBackupItem -Container $Container -WorkloadType AzureFiles -VaultId $vault.ID -FriendlyName "azurefiles"
$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -VaultId $vault.ID -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime()
$rp[0] | fl

الإخراج مشابه للنص التالي.

FileShareSnapshotUri : https://testStorageAcct.file.core.windows.net/testAzureFS?sharesnapshot=2018-11-20T00:31:04.00000
                       00Z
RecoveryPointType    : FileSystemConsistent
RecoveryPointTime    : 11/20/2018 12:31:05 AM
RecoveryPointId      : 86593702401459
ItemName             : testAzureFS
Id                   : /Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testVaultRG/providers/Micros                      oft.RecoveryServices/vaults/testVault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;teststorageRG;testStorageAcct/protectedItems/AzureFileShare;testAzureFS/recoveryPoints/86593702401462
WorkloadType         : AzureFiles
ContainerName        : storage;teststorageRG;testStorageAcct
ContainerType        : AzureStorage
BackupManagementType : AzureStorage

بعد تحديد نقطة الاسترداد ذات الصلة، يمكنك استعادة File Share أو الملف إلى الموقع الأصلي أو إلى موقع بديل.

استعادة مشاركة ملف إلى موقع بديل

استخدم Restore-AzRecoveryServicesBackupItem لاستعادة نقطة الاسترداد المحددة. حدد هذه المعلمات لتحديد الموقع البديل:

  • TargetStorageAccountName: حساب التخزين الذي تتم استعادة المحتوى الذي تم نسخه احتياطياً إليه. يجب أن يكون حساب التخزين الهدف في نفس موقع المخزن.
  • TargetFileShareName: مشاركات الملفات داخل حساب التخزين الهدف الذي تتم استعادة المحتوى الذي تم نسخه احتياطيا إليه.
  • TargetFolder: المجلد الموجود ضمن File Share الذي تتم استعادة البيانات إليه. في حالة استعادة المحتوى المنسوخ احتياطيًا إلى المجلد الجذر، أدخل قيم المجلد الهدف كسلسلة فارغة.
  • ResolveConflict: تمثل التعليمات المتبعة في حالة وجود تعارض مع البيانات المستعادة. يقبل Overwrite أو Skip.

قم بتشغيل الأمر cmdlet بالمعلمات على النحو التالي:

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -ResolveConflict Overwrite

يقوم الأمر بإرجاع وظيفة بمعرف ليتم تعقبها، كما هو موضح في المثال التالي.

WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   -----
testAzureFS        Restore              InProgress           12/10/2018 9:56:38 AM                               9fd34525-6c46-496e-980a-3740ccb2ad75

استعادة ملفات Azure إلى موقع بديل

استخدم Restore-AzRecoveryServicesBackupItem لاستعادة نقطة الاسترداد المحددة. حدد هذه المعلمات لتعريف الموقع البديل، ولتعريف الملف الذي تريد استعادته بشكل فريد.

  • TargetStorageAccountName: حساب التخزين الذي تتم استعادة المحتوى الذي تم نسخه احتياطياً إليه. يجب أن يكون حساب التخزين الهدف في نفس موقع المخزن.
  • TargetFileShareName: مشاركات الملفات داخل حساب التخزين الهدف الذي تتم استعادة المحتوى الذي تم نسخه احتياطيا إليه.
  • TargetFolder: المجلد الموجود ضمن File Share الذي تتم استعادة البيانات إليه. في حالة استعادة المحتوى المنسوخ احتياطيًا إلى المجلد الجذر، أدخل قيم المجلد الهدف كسلسلة فارغة.
  • SourceFilePath: المسار المطلق للملف، المراد استعادته داخل مشاركة الملف، كسلسلة. هذا المسار هو نفس المسار المستخدم في أمر cmdlet لـ Get-AzStorageFile PowerShell.
  • SourceFileType: سواء تم تحديد دليل أو ملف. يقبل الدليل أو الملف .
  • ResolveConflict: تمثل التعليمات المتبعة في حالة وجود تعارض مع البيانات المستعادة. يقبل Overwrite أو Skip.

المعلمات الإضافية (SourceFilePath وSourceFileType) مرتبطة فقط بالملف الفردي الذي تريد استعادته.

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite

يقوم هذا الأمر بإرجاع وظيفة بمعرف ليتم تعقبها، كما هو موضح في القسم السابق.

استعادة ملفات وملفات Azure إلى الموقع الأصلي

عندما تستعيد موقعاً أصلياً، لا تحتاج إلى تحديد المعلمات ذات الصلة بالوجهة والهدف. يجب توفير ResolveConflict فقط.

الكتابة فوق ملفات Azure

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite

الكتابة فوق ملفات Azure

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite

استعادة الملفات أو المجلدات المتعددة إلى الموقع الأصلي أو البديل

استخدم الأمر Restore-AzRecoveryServicesBackupItem بتمرير مسار جميع الملفات أو المجلدات التي تريد استعادتها كقيمة للمعلمة MultipleSourceFilePath .

استعادة ملفات متعددة

في البرنامج النصي التالي، نحاول استعادة ملفي FileSharePage.png و MyTestFile.txt .

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "azurefiles" -Name "azurefilesvault"

$Container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -Status Registered -FriendlyName "afsaccount" -VaultId $vault.ID

$BackupItem = Get-AzRecoveryServicesBackupItem -Container $Container -WorkloadType AzureFiles -VaultId $vault.ID -FriendlyName "azurefiles"

$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -VaultId $vault.ID

$files = ("FileSharePage.png", "MyTestFile.txt")

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -MultipleSourceFilePath $files -SourceFileType File -ResolveConflict Overwrite -VaultId $vault.ID -VaultLocation $vault.Location

استعادة أدلة متعددة

في البرنامج النصي التالي، نحاول استعادة دليلي zrs1_restore و استعادة .

$vault = Get-AzRecoveryServicesVault -ResourceGroupName "azurefiles" -Name "azurefilesvault"

$Container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureStorage -Status Registered -FriendlyName "afsaccount" -VaultId $vault.ID

$BackupItem = Get-AzRecoveryServicesBackupItem -Container $Container -WorkloadType AzureFiles -VaultId $vault.ID -FriendlyName "azurefiles"

$RP = Get-AzRecoveryServicesBackupRecoveryPoint -Item $BackupItem -VaultId $vault.ID

$files = ("Restore","zrs1_restore")

Restore-AzRecoveryServicesBackupItem -RecoveryPoint $RP[0] -MultipleSourceFilePath $files -SourceFileType Directory -ResolveConflict Overwrite -VaultId $vault.ID -VaultLocation $vault.Location

تتشابه النتيجة مع التالي:

WorkloadName         Operation         Status          StartTime                EndTime       JobID
------------         ---------         ------          ---------                -------       -----
azurefiles           Restore           InProgress      4/5/2020 8:01:24 AM                    cd36abc3-0242-44b1-9964-0a9102b74d57

إذا كنت تريد استعادة ملفات أو مجلدات متعددة إلى موقع بديل، فاستخدم البرامج النصية أعلاه عن طريق تحديد قيم المعلمات المتعلقة بالموقع الهدف، كما هو موضح أعلاه في استعادة ملفات Azure إلى موقع بديل.

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

إدارة النسخ الاحتياطية لملفات Azure باستخدام مدخل Microsoft AzureوAzure PowerShellوAzure CLIوواجهة برمجة تطبيقات REST.