copia de seguridad del servidor de Windows usando powershell

copia de seguridad del servidor de Windows usando powershell

Quiero probar las copias de seguridad una vez finalizadas confirmando que puedo recuperar un archivo centinela.

Todos sabemos que una copia de seguridad frecuente y, posteriormente, una copia de almacenamiento en un entorno diferente proporciona seguridad adicional. Para ello, nuestro servidor de almacenamiento de copias de seguridad, llamado Vault, guarda múltiples copias adicionales de nuestras copias de seguridad diarias.

Código de muestra de prueba:

$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
      }
  }

No puedo ponerme Get-WBBackupVolumeBrowsePatha trabajar para recuperar un archivo centinela conocido almacenado en cada volumen:

"\\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

¿Dónde o cómo referenciar un catálogo? Usando WBbackup, puedo abrir y recuperar un solo archivo Vault, ¡pero tengo alrededor de 25 copias de seguridad de servidores para verificar!

Respuesta1

Get-BackupSetpor sí solo devolverá todos los conjuntos de copias de seguridad del catálogo de su sistema. Deberías poder usar cualquiera de ellos, pero Get-WBBackupVolumeBrowsePathparece querequeriruna copia de seguridad configurada para estar en el catálogo de su sistema (y no en otra ruta) para poder montarla de forma interactiva, lo cual se hace en segundo plano.

Puede restaurar un archivo directamente sin WBBackupVolumeBrowsePathpensarlo y verificar la restauración en busca de errores:

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

información relacionada