Obnovení souborů Azure pomocí PowerShellu

Tento článek vysvětluje, jak obnovit celou sdílenou složku nebo konkrétní soubory z bodu obnovení vytvořeného službou Azure Backup pomocí Azure PowerShellu.

Můžete obnovit celou sdílenou složku nebo konkrétní soubory ve sdílené složce. Můžete provést obnovení do původního umístění nebo do alternativního umístění.

Upozorňující

Ujistěte se, že je verze PowerShellu upgradovaná na minimální verzi pro Az.RecoveryServices 2.6.0 pro zálohy AFS. Další informace najdete v části s popisem požadavku na tuto změnu.

Poznámka:

Azure Backup teď podporuje obnovení více souborů nebo složek do původního nebo alternativního umístění pomocí PowerShellu. V této části dokumentu se dozvíte, jak na to.

Načtení bodů obnovení

Pomocí rutiny Get-AzRecoveryServicesBackupRecoveryPoint zobrazíte seznam všech bodů obnovení zálohované položky.

V následujícím skriptu:

  • Proměnná $rp je pole bodů obnovení pro vybranou zálohovanou položku za posledních 7 dnů.
  • Pole je seřazeno v obráceném pořadí času s nejnovějším bodem obnovení v indexu 0.
  • K výběru bodu obnovení použijte standardní indexování pole PowerShellu.
  • V příkladu $rp[0] vybere nejnovější bod obnovení.
$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

Výstup je podobný následujícímu.

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

Po výběru příslušného bodu obnovení obnovíte sdílenou složku nebo soubor do původního umístění nebo do alternativního umístění.

Obnovení sdílené složky Azure do alternativního umístění

K obnovení do vybraného bodu obnovení použijte Restore-AzRecoveryServicesBackupItem. Zadejte tyto parametry pro identifikaci alternativního umístění:

  • TargetStorageAccountName: Účet úložiště, do kterého se obnoví zálohovaný obsah. Cílový účet úložiště musí být ve stejném umístění jako trezor.
  • TargetFileShareName: Sdílené složky v rámci cílového účtu úložiště, do kterého je obnoven zálohovaný obsah.
  • TargetFolder: Složka ve sdílené složce, do které se data obnoví. Pokud se zálohovaný obsah má obnovit do kořenové složky, dejte cílové složce hodnoty jako prázdný řetězec.
  • ResolveConflict: Instrukce, pokud došlo ke konfliktu s obnovenými daty. Přijímá přepsání nebo přeskočení.

Spusťte rutinu s parametry následujícím způsobem:

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

Příkaz vrátí úlohu s ID, které se má sledovat, jak je znázorněno v následujícím příkladu.

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

Obnovení souboru Azure do alternativního umístění

K obnovení do vybraného bodu obnovení použijte Restore-AzRecoveryServicesBackupItem. Zadejte tyto parametry pro identifikaci alternativního umístění a pro jedinečnou identifikaci souboru, který chcete obnovit.

  • TargetStorageAccountName: Účet úložiště, do kterého se obnoví zálohovaný obsah. Cílový účet úložiště musí být ve stejném umístění jako trezor.
  • TargetFileShareName: Sdílené složky v rámci cílového účtu úložiště, do kterého je obnoven zálohovaný obsah.
  • TargetFolder: Složka ve sdílené složce, do které se data obnoví. Pokud se zálohovaný obsah má obnovit do kořenové složky, dejte cílové složce hodnoty jako prázdný řetězec.
  • SourceFilePath: Absolutní cesta k souboru, která se má obnovit v rámci sdílené složky, jako řetězec. Tato cesta je stejná cesta používaná v rutině PowerShellu Get-AzStorageFile .
  • SourceFileType: Určuje, zda je vybrán adresář nebo soubor. Přijímá adresář nebo soubor.
  • ResolveConflict: Instrukce, pokud došlo ke konfliktu s obnovenými daty. Přijímá přepsání nebo přeskočení.

Další parametry (SourceFilePath a SourceFileType) se vztahují pouze k jednotlivému souboru, který chcete obnovit.

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

Tento příkaz vrátí úlohu s ID, které se má sledovat, jak je znázorněno v předchozí části.

Obnovení sdílených složek a souborů Azure do původního umístění

Při obnovení do původního umístění nemusíte zadávat parametry související s cílem a cíli. Je nutné zadat pouze ResolveConflict .

Přepsání sdílené složky Azure

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

Přepsání souboru Azure

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

Obnovení více souborů nebo složek do původního nebo alternativního umístění

Pomocí příkazu Restore-AzRecoveryServicesBackupItem předejte cestu ke všem souborům nebo složkám, které chcete obnovit jako hodnotu parametru MultipleSourceFilePath.

Obnovení více souborů

V následujícím skriptu se pokoušíme obnovit soubory FileSharePage.png a 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

Obnovení více adresářů

V následujícím skriptu se pokoušíme obnovit adresáře zrs1_restore a 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

Výstup se bude podobat tomuto:

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

Pokud chcete obnovit více souborů nebo složek do alternativního umístění, použijte výše uvedené skripty zadáním hodnot parametrů souvisejících s cílovým umístěním, jak je vysvětleno výše v části Obnovení souboru Azure do alternativního umístění.

Další kroky

Seznamte se s obnovením služby Azure Files na webu Azure Portal.