Aracılığıyla paylaş


PowerShell ile Azure Dosyalar geri yükleme

Bu makalede, Azure PowerShell kullanılarak Azure Backup hizmeti tarafından oluşturulan bir geri yükleme noktasından dosya paylaşımının tamamının veya belirli dosyaların nasıl geri yükleneceği açıklanmaktadır. Ayrıca Azure portal, Azure CLI, REST API kullanarak Azure Dosyalar'ı geri yükleyebilirsiniz.

Dosya Paylaşımı'nın tamamını veya paylaşımdaki belirli dosyaları geri yükleyebilirsiniz. Özgün konuma veya alternatif bir konuma geri yükleyebilirsiniz.

Uyarı

PowerShell sürümünün AFS yedeklemeleri için 'Az.RecoveryServices 2.6.0' için en düşük sürüme yükseltildiğinden emin olun. Daha fazla bilgi için bu değişiklik gereksiniminin ana hatlarını içeren bölüme bakın.

Not

  • Azure Dosyalar geri yükleme yalnızca PowerShell veya CLI kullanılırken aynı abonelik içinde desteklenir.
  • Bölgeler Arası Geri Yükleme, PowerShell veya CLI kullanılarak desteklenmez.
  • Azure Backup artık PowerShell kullanarak birden çok dosya veya klasörün özgün veya alternatif Konuma geri yüklenmesini destekliyor. Nasıl yapılacağını öğrenmek için belgenin bu bölümüne bakın.

Kurtarma noktalarını getirme

Yedeklenen öğenin tüm kurtarma noktalarını listelemek için Get-AzRecoveryServicesBackupRecoveryPoint kullanın.

Aşağıdaki betikte:

  • $rp değişkeni, son yedi güne ait seçili yedekleme öğesi için bir kurtarma noktası dizisidir.
  • Dizi, dizin 0'daki en son kurtarma noktasıyla zamanın ters sırasına göre sıralanır.
  • Kurtarma noktasını seçmek için standart PowerShell dizi dizini oluşturmayı kullanın.
  • Örnekte $rp [0] en son kurtarma noktasını seçer.
$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

Çıkış aşağıdakine benzer.

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

İlgili kurtarma noktası seçildikten sonra, Dosya Paylaşımı'nı veya dosyayı özgün konuma veya alternatif bir konuma geri yüklersiniz.

Dosya Paylaşımını alternatif bir konuma geri yükleme

Seçilen kurtarma noktasına geri yüklemek için Restore-AzRecoveryServicesBackupItem kullanın. Alternatif konumu tanımlamak için şu parametreleri belirtin:

  • TargetStorageAccountName: Yedeklenen içeriğin geri yüklendiği depolama hesabı. Hedef depolama hesabının kasayla aynı konumda olması gerekir.
  • TargetFileShareName: Yedeklenen içeriğin geri yüklendiği hedef depolama hesabı içindeki Dosya Paylaşımları.
  • TargetFolder: Verilerin geri yüklendiği Dosya Paylaşımı altındaki klasör. Yedeklenen içerik bir kök klasöre geri yüklenecekse hedef klasör değerlerini boş bir dize olarak verin.
  • ResolveConflict: Geri yüklenen verilerle çakışma olması durumunda yönerge. Üzerine Yaz veya Atla seçeneklerini kabul eder.

cmdlet'ini aşağıdaki parametrelerle çalıştırın:

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

Komut, aşağıdaki örnekte gösterildiği gibi, takip edilecek bir kimliğe sahip bir iş döndürür.

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

Azure Dosyalar'ı alternatif bir konuma geri yükleme

Seçilen kurtarma noktasına geri yüklemek için Restore-AzRecoveryServicesBackupItem kullanın. Alternatif konumu tanımlamak ve geri yüklemek istediğiniz dosyayı benzersiz olarak tanımlamak için bu parametreleri belirtin.

  • TargetStorageAccountName: Yedeklenen içeriğin geri yüklendiği depolama hesabı. Hedef depolama hesabının kasayla aynı konumda olması gerekir.
  • TargetFileShareName: Yedeklenen içeriğin geri yüklendiği hedef depolama hesabı içindeki Dosya Paylaşımları.
  • TargetFolder: Verilerin geri yüklendiği Dosya Paylaşımı altındaki klasör. Yedeklenen içerik bir kök klasöre geri yüklenecekse hedef klasör değerlerini boş bir dize olarak verin.
  • SourceFilePath: Dosya Paylaşımı içinde dize olarak geri yüklenecek dosyanın mutlak yolu. Bu yol, Get-AzStorageFile PowerShell cmdlet'inde kullanılan yolla aynıdır.
  • SourceFileType: Dizinin mi yoksa dosyanın mı seçildiği. Dizin veya Dosya kabul eder.
  • ResolveConflict: Geri yüklenen verilerle çakışma olması durumunda yönerge. Üzerine Yaz veya Atla seçeneklerini kabul eder.

Ek parametreler (SourceFilePath ve SourceFileType) yalnızca geri yüklemek istediğiniz tek dosyayla ilişkilidir.

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

Bu komut, önceki bölümde gösterildiği gibi izlenecek kimliği olan bir iş döndürür.

Azure Dosyaları ve dosyalarını özgün konuma geri yükleme

Özgün bir konuma geri yüklerken hedef ve hedefle ilgili parametreleri belirtmeniz gerekmez. Yalnızca ResolveConflict sağlanmalıdır.

Azure Dosyaları'nın üzerine yazma

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

Azure Dosyaları'nın üzerine yazma

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

Birden çok dosya veya klasörü özgün veya alternatif konuma geri yükleme

Geri yüklemek istediğiniz tüm dosya veya klasörlerin yolunu MultipleSourceFilePath parametresi için bir değer olarak geçirerek Restore-AzRecoveryServicesBackupItem komutunu kullanın.

Birden çok dosyayı geri yükleme

Aşağıdaki betikte, FileSharePage.png ve MyTestFile.txt dosyalarını geri yüklemeye çalışıyoruz.

$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

Birden çok dizini geri yükleme

Aşağıdaki betikte, zrs1_restore ve Geri Yükleme dizinlerini geri yüklemeye çalışıyoruz.

$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

Çıktı aşağıdakine benzerdir.

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

Birden çok dosya veya klasörü alternatif konuma geri yüklemek istiyorsanız, azure dosyalarını alternatif bir konuma geri yükleme bölümünde açıklandığı gibi, konumla ilgili hedef parametre değerlerini belirterek yukarıdaki betikleri kullanın.

Sonraki adımlar

Azure portalı, AzurePowerShell, Azure CLI, REST API kullanarak Azure Dosyalar yedeklemelerini yönetin.