Home > Windows にまつわる e.t.c.

wbadmin でフルバックアップスケジュールを設定する


Windows Server の標準機能である Windows Server Backup のコマンドラインインターフェースである wbadmin でフルバックアップをスケジュールすることができます。

面白いことに、wbadmin.exe は Client OS に入っており、こいつを使うと Clinet OS でもフルバックアップをスケジュールすることが出ます。

wbadmin は多機能なので、フルバックアップにフォーカスして使い方を解説します。

 

バックアップスケジュールコマンド

スケジュールされたバックアップを設定するには enable backup、解除するには disable backup オプションを使用します。

  Server OS Client OS 備考
バックアップスケジュール登録 wbadmin enable backup
-schedule オプションでバックアップ開始時刻を指定する
バックアップスケジュール解除 wbadmin disable backup

 

バックアップ先(-addtarget)

Windows Serve Backup のバックアップ先には、ローカル専用ディスク、ローカルボリューム、SMB 共有を指定することができます。

このうち、ローカル専用ディスクは Server 専用で、Client OS では使用できません。

専用ディスクをバックアップ先に指定する場合は、wbadmin get disks で得られる ディスク ID を指定します。この ディスク ID は、GUID なので、Get-Disk で得られる GUID と同じ値になります。

専用ディスクは Server OS 専用ですが、ローカルボリュームは Clinet OS でも使うことが可能です。(Windows Server Backup GUI では指定できない)

SMB 共有もバックアップ先に指定することができますが、1世代のみのバックアップになります。

 

  Server OS Client OS 備考
ローカル専用ディスク × GUID 指定
ローカルボリューム
(GUI指定不可)
 
SMB 共有 1世代のみ

 

バックアップボリューム(-include:)

バックアップボリュームは、ドライブレターを指定します。

ドライブレターを持たないボリュームも、Get-Disk の Path を指定すればバックアップ対象にできますが、別のオプションで補えるので、あまり使用しません。

 

  Server OS Client OS 備考
バックアップボリューム C:,D: みたいな感じで

 

Hyper-V VM バックアップ(-hyperv:)

Server OS の場合は、VM 単位リストアをサポートする VM もバックアップがサポートされています。

 

  Server OS Client OS 備考
VM バックアップ × Server 専用

 

共有アクセスアカウント(-user)

SMB 共有をバックアップ先にする場合は、共有をアクセスするアカウント指定が必要です。

このアカウントは Backup Operators メンバーになっている必要があります(Administrators のメンバーでも可)

共有の ACL は、バックアップの性格上フルアクセスが望ましいのですが、RW でも大丈夫の様です。

  Server OS Client OS 備考
SMB 共有をアクセスするアカウント -user
パスワード -password

 

その他オプション

 

  Server OS Client OS 備考
システム状態 × -systemState
すべての重要なボリューム -allCritical
VSSを使用して完全バックアップ -vssFull
サイレントオプション -quiet
バックアップ除外 -exclude

 

【注意】
-allCritical を指定した場合、C: は全てバックアップされるので、-exclude で C: にあるフォルダーをバックアップ除外指定しても除外になりません。
2台でクロスバックアップをする場合、バックアップ先の共有を C: 以外に作成しないとバックアップ除外が出来ないのでバックアップサイズがどんどん大きくなり、やがてはディスクパンクします。
クロスバックアップをする場合は、C: 以外のボリュームを作成し、そこにバックアップ先共有を作成する必要があります。

 

フルバックアップ設定の例

C: D: と VM01 VM02 を 1:00 に専用ディスクへバックアップする場合

wbadmin enable backup -addtarget:{ee74c3ee-a34c-4d56-9aa4-f2d84aa29bdf} -include:C:,D: -hyperv:VM01,VM02 -allCritical -systemState -vssFull -schedule:01:00 -quiet

 

C: D: を 1:00 に E: へバックアップする場合は以下のようにします

wbadmin enable backup -addtarget:E: -include:C:,D: -allCritical -systemState -vssFull -schedule:01:00 -quiet

 

Client OS で外付け USB HDD(D:) に C: の単発バックアップをする場合は以下のようにします

wbadmin START BACKUP -include:C: -allCritical -vssFull -quiet -backupTarget:d:

 

C: D: を 1:00 に \\172.16.0.50\Backup へバックアップする場合は以下のようにします(アカウント:contoso\hogehoge)

wbadmin enable backup -addtarget:\\172.16.0.50\Backup -include:C:,D: -allCritical -systemState -vssFull -schedule:01:00 -user:contoso\hogehoge -password:P@ssW0rd -quiet

 

その他

バックアップスケジュールの確認と解除は以下のようにします。

バックアップ設定確認
wbadmin enable backup

バックアップ解除
wbadmin disable backup

 

パラメーター生成スクリプト

バックアップ対象 VM がたくさんあるとか、SMB 共有にバックアップする際のアカウントを Backup Operators にするとか忘れがちなので、パラメーター生成の .ps1 書きました。
(もっとライトに書くつもりだったのですが、チェックとか入れていたらこんなにも肥大化してしまい...)

使い方

SetWbadminFullBackup.ps1 [バックアップ先] [バックアップ開始時刻]

 

バックアップ先は、ドライブレター、UNC、ディスク番号(Get-Disk の Number)が指定できます。

バックアップ時刻に 99:99 を指定すると、バックアップ解除になります。

Winbdows Server 2012 / Windows 8 以降対応なので、Client OS でもフルバックアップスケジュールを簡単に設定できます。

 

スクリプトをダウンロードする場合は、以下コマンドでダウンロードしてください
C:\Users\ユーザー名 にダウンロードされます。

# スクリプトダウンロード
Invoke-WebRequest http://www.vwnet.jp/Windows/PowerShell/ps1/SetWbadminFullBackup.txt -OutFile ~/SetWbadminFullBackup.ps1

# ダウンロードしたフォルダを開く
ii $env:USERPROFILE

 

ダウンロードした .ps1 の SHA256 のハッシュ値は以下となっています。

A23D5AEB49E70C084514CA60D8C309FE046C363F3E80DB2BA7285497F88E87DA

 

関連情報

ネットワークバックアップからベアメタル回復(フルリストア)する
http://www.vwnet.jp/Windows/WS12R2/2016042101/FullRestorFromSMBShare.htm

 

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.