Ripristinare File di Azure con PowerShell
Questo articolo illustra come ripristinare un'intera condivisione file o file specifici da un punto di ripristino creato dal servizio Backup di Azure usando Azure PowerShell.
È possibile ripristinare un'intera condivisione file o file specifici nella condivisione. È possibile eseguire il ripristino nel percorso originale o in un percorso alternativo.
Avviso
Assicurarsi che la versione di PowerShell sia aggiornata alla versione minima per 'Az.RecoveryServices 2.6.0' per i backup AFS. Per altre informazioni, vedere la sezione in cui si delinea il requisito per questa modifica.
Nota
Backup di Azure supporta ora il ripristino di più file o cartelle nel percorso originale o alternativo usando PowerShell. Per informazioni, vedere questa sezione del documento.
Recuperare i punti di recupero
Usare Get-AzRecoveryServicesBackupRecoveryPoint per elencare tutti i punti di ripristino per l'elemento di cui è stato eseguito il backup.
Nello script seguente:
- La variabile $rp è una matrice di punti di ripristino per l'elemento di backup selezionato negli ultimi sette giorni.
- La matrice viene ordinata in ordine inverso di tempo con il punto di recupero più recente in posizione 0 nell'indice.
- Per scegliere il punto di ripristino, usare l'indicizzazione standard della matrice di PowerShell.
- Nell'esempio $rp [0] seleziona il punto di recupero più recente.
$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
L'output è simile al seguente.
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
Dopo aver selezionato il punto di ripristino pertinente, ripristinare la condivisione file o il file nel percorso originale o in un percorso alternativo.
Ripristinare una condivisione file di Azure in un percorso alternativo
Usare Restore-AzRecoveryServicesBackupItem per eseguire il ripristino nel punto di ripristino selezionato. Specificare questi parametri per identificare il percorso alternativo:
- TargetStorageAccountName: account di archiviazione in cui viene ripristinato il contenuto di cui è stato eseguito il backup. L'account di archiviazione di destinazione deve trovarsi nella stessa posizione dell'insieme di credenziali.
- TargetFileShareName: condivisioni file all'interno dell'account di archiviazione di destinazione in cui viene ripristinato il contenuto sottoposto a backup.
- TargetFolder: cartella nella condivisione file in cui vengono ripristinati i dati. Se il contenuto sottoposto a backup deve essere ripristinato in una cartella radice, fornire i valori della cartella di destinazione come stringa vuota.
- ResolveConflict: istruzione in caso di conflitto con i dati ripristinati. Accetta Overwrite o skip.
Eseguire il cmdlet con i parametri come indicato di seguito:
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -ResolveConflict Overwrite
Il comando restituisce un processo con un ID di cui tenere traccia, come mostrato nell'esempio seguente.
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
testAzureFS Restore InProgress 12/10/2018 9:56:38 AM 9fd34525-6c46-496e-980a-3740ccb2ad75
Ripristinare un file di Azure in un percorso alternativo
Usare Restore-AzRecoveryServicesBackupItem per eseguire il ripristino nel punto di ripristino selezionato. Specificare questi parametri per identificare il percorso alternativo e identificare in modo univoco il file da ripristinare.
- TargetStorageAccountName: account di archiviazione in cui viene ripristinato il contenuto di cui è stato eseguito il backup. L'account di archiviazione di destinazione deve trovarsi nella stessa posizione dell'insieme di credenziali.
- TargetFileShareName: condivisioni file all'interno dell'account di archiviazione di destinazione in cui viene ripristinato il contenuto sottoposto a backup.
- TargetFolder: cartella nella condivisione file in cui vengono ripristinati i dati. Se il contenuto sottoposto a backup deve essere ripristinato in una cartella radice, fornire i valori della cartella di destinazione come stringa vuota.
- SourceFilePath: percorso assoluto del file da ripristinare all'interno della condivisione file come stringa. Questo percorso è uguale a quello usato nel cmdlet Get-AzStorageFile di PowerShell.
- SourceFileType: indica se è selezionata una directory o un file. Accetta Directory o File.
- ResolveConflict: istruzione in caso di conflitto con i dati ripristinati. Accetta Overwrite o skip.
I parametri aggiuntivi (SourceFilePath e SourceFileType) sono correlati solo al singolo file da ripristinare.
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -TargetStorageAccountName "TargetStorageAcct" -TargetFileShareName "DestAFS" -TargetFolder "testAzureFS_restored" -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Questo comando restituisce un processo con un ID da tenere traccia, come illustrato nella sezione precedente.
Ripristinare condivisioni file e file di Azure nel percorso originale
Quando si esegue il ripristino in una posizione originale, non è necessario specificare parametri correlati alla destinazione e alla destinazione. Deve essere fornito solo ResolveConflict.
Sovrascrivere una condivisione file di Azure
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -ResolveConflict Overwrite
Sovrascrivere un file di Azure
Restore-AzRecoveryServicesBackupItem -RecoveryPoint $rp[0] -SourceFileType File -SourceFilePath "TestDir/TestDoc.docx" -ResolveConflict Overwrite
Ripristinare più file o cartelle in un percorso originale o alternativo
Usare il comando Restore-AzRecoveryServicesBackupItem passando il percorso di tutti i file o le cartelle da ripristinare come valore per il parametro MultipleSourceFilePath.
Ripristinare più file
Nello script seguente si sta tentando di ripristinare i file FileSharePage.png e 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
Ripristinare più directory
Nello script seguente si sta tentando di ripristinare le directory zrs1_restore e Ripristina.
$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
L'output sarà simile al seguente:
WorkloadName Operation Status StartTime EndTime JobID
------------ --------- ------ --------- ------- -----
azurefiles Restore InProgress 4/5/2020 8:01:24 AM cd36abc3-0242-44b1-9964-0a9102b74d57
Per ripristinare più file o cartelle in un percorso alternativo, usare gli script precedenti specificando i valori dei parametri correlati al percorso di destinazione, come illustrato in precedenza in Ripristinare un file di Azure in un percorso alternativo.
Passaggi successivi
Informazioni sul ripristino di File di Azure nel portale di Azure.