具体的なスクリプト例
BMR(Bare Metal Recovery)リストア
通常、Windowsサーバのシステムリストアは、インストールメディアからの回復しかできないので説明は割愛します。
Hyper-V仮想マシンのリストア
WドライブにバックアップしたHyper-V仮想マシン(Win2016A)を元の場所(F:\Hyper-V)にリストアします。
wbadmin start recovery -backupTarget:W: -version:03/15/2020-01:23 -itemtype:Hyperv -items:Win2016A -recoveryTarget:F:\Hyper-V
- バックアップ元をWドライブに設定
$target = New-WBBackupTarget -VolumePath W:
- バックアップ元からバックアップセットを検索
$backupset = Get-WBBackupSet -BackupTarget $target -MachineName $env:ComputerName | ? Application -Match "Win2016A"
- 最新のバックアップセットを確認
複数バックアップ世代が作られていたら、直近のものを採用します。
$bs = $backupset.count - 1
$ap = $backupset[$bs].Application | ? Identifier -match "HyperV"
$cp = $ap.Component | ? VMName -match "Win2016A"
- 直前のWSBジョブ履歴の開始日時の退避
$previous_starttime = (Get-WBJob -Previous 1).StartTime
- リストアの実行
Start-WBHyperVRecovery -BackupSet $backupset[$bs] -VMInBackup $cp -TargetPath F:\Hyper-V -Force
- 実行結果(WSBジョブ履歴)の取得
Start-Sleep -Seconds 10
$wbstatus = Get-WBJob -previous 1
- WSBジョブ履歴(実行結果)の確認
- StartTime(直前のジョブ以降である事)
- JobType('ApplicationRecovery'である事)
- JobState('Completed'である事)
- HRESULT(0である事)
if (([datetime]$wbstatus.StartTime -gt [datetime]$previous_starttime) `
-and ($wbstatus.JobType -eq "ApplicationRecovery") `
-and ($wbstatus.JobState -eq "Completed") `
-and ($wbstatus.HRESULT -eq 0) ) `
{echo "Backup Completed" } else {echo "Backup Failed"}
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。