Sdílet prostřednictvím


Obnovení Azure Files 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 PowerShell.

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

Upozornění

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. Postup najdete v této části dokumentu.

Načtení bodů obnovení

Pomocí rutiny Get-AzRecoveryServicesBackupRecoveryPoint vypíšete všechny body obnovení zálohované položky.

V následujícím skriptu:

  • Proměnná $rp je pole bodů obnovení pro vybranou zálohovanou položku z posledních 7 dnů.
  • Pole je seřazeno v obráceném pořadí podle času s poslední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 rutinu 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 se obnovený zálohovaný obsah.
  • TargetFolder: Složka ve sdílené složce, do které se data obnovují. Pokud se má zálohovaný obsah obnovit do kořenové složky, zadejte hodnoty cílové složky jako prázdný řetězec.
  • ResolveConflict: Pokyny, pokud dojde ke konfliktu s obnovenými daty. Akceptuje možnost Přepsat nebo Přeskočit.

Spusťte rutinu s následujícími parametry:

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 rutinu Restore-AzRecoveryServicesBackupItem . Zadejte tyto parametry pro identifikaci alternativního umístění a pro jednoznač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 se obnovený zálohovaný obsah.
  • TargetFolder: Složka ve sdílené složce, do které se data obnovují. Pokud se má zálohovaný obsah obnovit do kořenové složky, zadejte hodnoty cílové složky jako prázdný řetězec.
  • SourceFilePath: Absolutní cesta k souboru, který se má obnovit ve sdílené složce, jako řetězec. Tato cesta je stejná jako v rutině PowerShellu Get-AzStorageFile .
  • SourceFileType: Určuje, jestli je vybraný adresář nebo soubor. Přijímá adresář nebo soubor.
  • ResolveConflict: Pokyny, pokud dojde ke konfliktu s obnovenými daty. Akceptuje možnost Přepsat nebo Přeskočit.

Další parametry (SourceFilePath a SourceFileType) se vztahují pouze k jednotlivým souborům, 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 Azure a souborů 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ílem. Musí se zadat jenom 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 souboryFileSharePage.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 a zadejte hodnoty parametrů související s cílovým umístěním, jak je vysvětleno výše v tématu Obnovení souboru Azure do alternativního umístění.

Další kroky

Přečtěte si o obnovení Azure Files v Azure Portal.