具体的なスクリプト例
Hyper-V仮想マシンのバックアップ
Hyper-V上の仮想マシン(Win2016A)をWドライブにバックアップする。
wbadmin start backup -backupTarget:W: -HyperV:Win2016A
- WBバックアップポリシー作成
$wbpolicy = New-WBPolicy
- バックアップ先をWドライブに設定
$target = New-WBBackupTarget -VolumePath W:
Add-WBBackupTarget -Policy $wbpolicy -Target $target```
- 仮想マシン(Win2016A)のWBバックアップポリシーへの追加
$vm = Get-WBVirtualMachine | ? VMName -Match "Win2016A"
Add-WBVirtualMachine -Policy $wbpolicy -VirtualMachine $VM
ここで注意すべきことは、Get-VMで仮想マシンを確認できても、WSBの Get-WBVirtualMachineで確認できるとは限らないことです。経験的にチェックポイント(スナップショット)が作成されている仮想マシンを、Get-WBVirtualMachineで取得できませんでした。事前にチェックポイントを削除しておいてください。
ここまでで、WBバックアップポリシーは完成です。続いて、バックアップ実行結果確認のために直前のWSBジョブ履歴の開始日時を退避します。
- 直前のWSBジョブ履歴の開始日時の退避
$previous_starttime = (Get-WBJob -Previous 1).StartTime
- バックアップの実行
Start-WBBackup -Policy $wbpolicy -Force
- 実行結果(WSBジョブ履歴)の取得
Start-Sleep -Seconds 10
$wbstatus = Get-WBJob -previous 1
- WSBジョブ履歴(実行結果)の確認
WSBジョブ履歴の確認すべき項目は次のとおりです。
- StartTime(直近のジョブ以降である事)
- JobType('Backup'である事)
- JobState('Completed'である事)
- HRESULT(0である事)
if ( ([datetime]$wbstatus.StartTime -gt [datetime]$previous_starttime) `
-and ($wbstatus.JobType -eq "Backup") `
-and ($wbstatus.JobState -eq "Completed") `
-and ($wbstatus.HRESULT -eq 0) ) `
{echo "Backup Completed" } else {echo "Backup Failed"}
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。