резервное копирование сервера windows с помощью powershell

резервное копирование сервера windows с помощью powershell

Я хочу протестировать резервное копирование после завершения, убедившись, что смогу восстановить контрольный файл.

Мы все знаем, что частое резервное копирование, а затем и хранение, копирование в другой среде обеспечивает дополнительную безопасность. Для этой цели наш сервер резервного хранения, называемый Vault, хранит несколько дополнительных копий наших ежедневных резервных копий.

Тестовый пример кода:

$Backup  = '\\localhost\d$\Vault\One'
$ex      =""
try{
    # I have no clue how to get the servers from Get-WBBackupSet, so, resort to parsing the error
    # Get-WBBackupSet error response when multiple backups are stored:
    #Backups of multiple computers are in the backup storage location. The computers for which backups are present are:
    #bdc iis myblue quickbooks sqlserver <redacted> .
    #Please specify the computer that you want to manage backups for.

    $servers=@{}
    Get-WBBackupSet -BackupTarget $BackupTarget
  } catch {
    $m=($_ -split "`r`n")[0]
    $ix=$m.IndexOf(":")
    $l=$m.Substring($ix+1)
    $ix=$l.IndexOf(" . ")
    $Servers=$($l.Substring(0,$ix).split(" "))|? {$_ -ne ''} }

    $servers | %{
      $BackupSet = Get-WBBackupSet -BackupTarget $BackupTarget -MachineName $_
      Write-host "  $("$_".PadRight(12))$($($BackupSet.BackupTime).ToString("yyyy-MM-dd hh:mm tt ddd"))"
      $BackupSet.Volume | ? { $_.MountPath -ne '' } | % {
        $V=$_
        Write-Host $($v.VolumeLabel.PadRight(12)) $($v.MountPath.PadRight(6)) " `
          "$(($_.FreeSpace/1GB).tostring("n2").PadLeft(8))Gb  $(($_.TotalSpace/1GB).ToString("n2").PadLeft(8))Gb "

        Get-WBBackupVolumeBrowsePath   -VolumeInBackup $_ -BackupSet $BackupSet
      }
  }

Я не могу Get-WBBackupVolumeBrowsePathприступить к восстановлению известного контрольного файла, хранящегося на каждом томе:

"\\localhost\d$\Vault\One"
  admin        2020-03-13 07:00 PM Fri
                  C:         21.38GB     59.46GB

Get-WBBackupVolumeBrowsePath : an attempt to retrieve the properties for the backup set
                               failed because the backup set is not in the catalog.

at "C:\Repos\PowerShell\BackupStatus.ps1":... char:13
+             Get-WBBackupVolumeBrowsePath   -VolumeInBackup $_ -Backup ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-WBBackupVolumeBrowsePath], Exception
    + FullyQualifiedErrorId : System.Exception,Microsoft.Windows.ServerBackup.Commands.GetWBBackupVolumeBrowsePath

Где или как ссылаться на каталог? Используя WBbackup, я могу открыть и извлечь один файл из Vault, но мне нужно проверить около 25 резервных копий серверов!!!

решение1

Get-BackupSetсам по себе вернет все резервные наборы в вашем системном каталоге. Вы должны иметь возможность использовать любой из них, но, Get-WBBackupVolumeBrowsePathкажется,требоватьрезервная копия должна находиться в системном каталоге (а не по другому пути), чтобы ее можно было монтировать в интерактивном режиме, что и происходит в фоновом режиме.

Вы можете восстановить файл напрямую, без лишних WBBackupVolumeBrowsePathраздумий, и проверить восстановление на наличие ошибок:

Start-WBFileRecovery -BackupSet $BackupSet -FilePathToRecover "C:\Dir1" -Recursive -FileRecoveryOption CreateCopyIfExists -Force

Связанный контент