backup do servidor windows usando powershell

backup do servidor windows usando powershell

Quero testar os backups após a conclusão, confirmando se posso recuperar um arquivo sentinela.

Todos sabemos que um backup frequente e, posteriormente, armazenamento, cópia em um ambiente diferente oferece segurança extra. Para isso, nosso servidor de armazenamento de backup, denominado Vault, mantém diversas cópias extras de nossos backups diários.

Testando código de exemplo:

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

Não consigo Get-WBBackupVolumeBrowsePathtrabalhar para recuperar um arquivo sentinela conhecido armazenado em cada volume:

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

Onde ou como referenciar um catálogo? Usando WBbackup, posso abrir e recuperar um único arquivo Vault, mas tenho cerca de 25 backups de servidores para verificar!!!

Responder1

Get-BackupSetpor si só retornará todos os conjuntos de backup no catálogo do sistema. Você deve ser capaz de usar qualquer um deles, mas Get-WBBackupVolumeBrowsePathpareceexigirum conjunto de backup para estar no catálogo do sistema (e não em outro caminho) para poder montá-lo interativamente, o que está sendo feito em segundo plano.

Você pode restaurar um arquivo diretamente, sem WBBackupVolumeBrowsePathproblemas, e verificar se há erros na restauração:

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

informação relacionada