Bagikan melalui


Memulihkan File Azure dengan PowerShell

Artikel ini menjelaskan cara menggunakan portal Microsoft Azure untuk memulihkan seluruh file berbagi atau file tertentu dari titik pemulihan yang dibuat oleh Azure Backup.

Anda dapat memulihkan seluruh berbagi file atau file tertentu di berbagi. Anda dapat memulihkan ke lokasi asli, atau ke lokasi alternatif.

Peringatan

Pastikan versi PowerShell ditingkatkan ke versi minimum untuk 'Az.RecoveryServices 2.6.0' untuk cadangan AFS. Untuk detail selengkapnya, lihat bagian yang menguraikan persyaratan untuk perubahan ini.

Catatan

Azure Backup sekarang mendukung pemulihan beberapa file atau folder ke lokasi asli atau alternatif menggunakan PowerShell. Lihat bagian dokumen ini untuk mempelajari caranya.

Semua titik pemulihan

GunakanGet-AzRecoveryServicesBackupRecoveryPoint untuk mencantumkan semua titik pemulihan untuk item cadangan.

Jalankan skrip berikut:

  • Dalam skrip berikut, variabel, $rp, merupakan array titik pemulihan untuk item cadangan yang dipilih, dari tujuh hari terakhir.
  • Larik diurutkan dalam urutan terbalik berdasarkan waktu dengan titik pemulihan terbaru di indeks0.
  • Gunakan pengindeksan larik PowerShell standar untuk memilih titik pemulihan.
  • Dalam contoh, $rp[0] memilih titik pemulihan terbaru.
$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

Outputnya mirip dengan yang berikut ini.

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

Setelah titik pemulihan yang relevan dipilih, Anda memulihkan berbagi file atau file ke lokasi asli, atau ke lokasi alternatif.

Memulihkan berbagi file Azure ke lokasi alternatif

Gunakan Restore-AzRecoveryServicesBackupItem untuk memulihkan ke titik pemulihan yang dipilih. Tentukan parameter ini untuk mengidentifikasi lokasi alternatif:

  • TargetStorageAccountName: Akun penyimpanan tempat konten yang dicadangkan dipulihkan. Akun penyimpanan target harus berada di lokasi yang sama dengan vault.
  • TargetFileShareName: File berbagi dalam akun penyimpanan target tempat pemulihan konten yang dicadangkan.dipulihkan
  • TargetFolder: Folder di bawah berbagi file tempat data dipulihkan. Jika konten yang dicadangkan akan dipulihkan ke folder akar, berikan nilai folder target sebagai string kosong.
  • ResolveConflict: Instruksi jika ada konflik dengan data yang dipulihkan. Menerima Timpa atau Lewati.

Jalankan cmdlet dengan parameter sebagai berikut:

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

Perintah menampilkan tugas dengan ID yang akan dilacak, seperti yang diperlihatkan dalam contoh berikut.

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

Memulihkan berbagi file Azure ke lokasi alternatif

Gunakan Restore-AzRecoveryServicesBackupItem untuk memulihkan ke titik pemulihan yang dipilih. Tentukan parameter ini untuk mengidentifikasi lokasi alternatif, dan untuk mengidentifikasi file yang ingin Anda pulihkan secara unik.

  • TargetStorageAccountName: Akun penyimpanan tempat konten yang dicadangkan dipulihkan. Akun penyimpanan target harus berada di lokasi yang sama dengan vault.
  • TargetFileShareName: File berbagi dalam akun penyimpanan target tempat pemulihan konten yang dicadangkan.dipulihkan
  • TargetFolder: Folder di bawah berbagi file tempat data dipulihkan. Jika konten yang dicadangkan akan dipulihkan ke folder akar, berikan nilai folder target sebagai string kosong.
  • SourceFilePath: Jalur absolut file, untuk dipulihkan dalam berbagi file, sebagai string. Jalur ini adalah jalur yang sama yang digunakan dalam cmdlet Get-AzStorageFile PowerShell.
  • SourceFileType: Pilih apakah direktori atau file telah dipilih. Menerima Direktori atau Berkas.
  • ResolveConflict: Instruksi jika ada konflik dengan data yang dipulihkan. Menerima Timpa atau Lewati.

Parameter tambahan (SourceFilePath dan SourceFileType) hanya terkait dengan file individual yang ingin Anda pulihkan.

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

Perintah menampilkan tugas dengan ID yang akan dilacak, seperti yang diperlihatkan dalam contoh berikut.

Memulihkan berbagi file Azure dan file ke lokasi asli

Saat memulihkan ke lokasi asli, Anda tidak perlu menentukan parameter yang terkait tujuan dan target. Hanya Selesaikan Konflik yang harus disediakan.

Timpa berbagi file Azure

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

Timpa berbagi file Azure

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

Memulihkan beberapa file atau folder ke lokasi asli atau alternatif

Gunakan perintah Restore-AzRecoveryServicesBackupItem dengan melewati jalur semua file atau folder yang ingin Anda pulihkan sebagai nilai untuk parameter MultipleSourceFilePath.

Pulihkan beberapa berkas

Dalam skrip berikut, kami mencoba memulihkan FileSharePage.pngMyTestFile.txt file.

$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

Pulihkan beberapa direktori

Dalam skrip berikut, kami mencoba memulihkan direktori zrs1_restoredanPulihkan.

$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

Outputnya akan mirip dengan contoh berikut:

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

Jika Anda ingin memulihkan beberapa file atau folder ke lokasi alternatif, gunakan skrip di atas dengan menentukan nilai parameter terkait lokasi target, seperti yang dijelaskan di atas dalam Pulihkan file Azure ke lokasi alternatif.

Langkah berikutnya

Pelajari tentang mencadangkan Azure Files di portal Microsoft Azure.