batファイルを使用してWindows Backupを細かいスケジュールで実行させる方法

Windows Backupを使用してバックアップを定期実行させようとしても、例えば「月曜日と木曜日に実行する」といった細かいスケジュールで実行することができません。そこで、batファイルを作成して、タスクで任意の日時に実行する方法を紹介します。

以下の内容を記載したbatファイルを作成します。実行した記録を残すために、D:\backup\result.logに実行ログを残すように設定しています。

@echo off

echo WindowsBackup_START_TIME: %DATE% %TIME% >> "D:\backup\result.log"

wbadmin start backup -backupTarget:\\192.168.1.100\Share -include:C: -allCritical -systemState -vssFull -quie

echo WindowsBackup_Finish_TIME: %DATE% %TIME% >> "D:\backup\result.log"

timeout /nobreak 5

echo.  >> "D:\backup\result.log"

Windows Backupのコマンドである「wbadmin start backup」のオプションの詳細は、以下になります。ここでは使用していないその他のオプションもありますので、詳細は公式サイトをご確認ください。

-backuptarget このバックアップ用の記憶域の場所を指定します。 ここでは \\192.168.1.100\Share という共有領域に保存しています。
-includeバックアップに含める項目のコンマ区切りのリストを指定します。 複数のファイル、フォルダー、またはボリュームを含めることができます。ここでは、Cドライブをバックアップ対象としています。
-allCriticalすべての重要なボリューム (オペレーティング システムの状態を含むボリューム) をバックアップに含めることを指定します。 このパラメーターは、ベア メタル回復用のバックアップを作成する場合に便利です。
-systemState-include パラメーターで指定した他の項目に加えて、システム状態を含むバックアップを作成します。 システム状態には、ブート ファイル (Boot.ini、NDTLDR、NTDetect.com)、COM 設定を含む Windows レジストリ、SYSVOL (グループ ポリシーとログオン スクリプト)、ドメイン コントローラー上の Active Directory と NTDS.DIT、および証明書サービスがインストールされている場合は証明書ストアが含まれます。
-vssFullボリューム シャドウ コピー サービス (VSS) を使用して完全バックアップを実行します。 すべてのファイルがバックアップされ、各ファイルの履歴が更新されてバックアップされたことが反映され、以前のバックアップのログが切り捨てられる場合があります。 
-quietユーザーにプロンプトを表示せずにコマンドを実行します。
オプションの詳細

batファイルの作成と、ログフォルダ(D:\backup\)の作成が済みましたら、一度「管理者として(管理者権限で)」実行してみましょう。共有領域(\\192.168.1.100\Share)にWindows Backupのデータが作成されている事、ログファイルに時刻等が記録されていることを確認します。

batファイルに問題がないことが確認できましたら、[コントロールパネル]から[管理ツール]を開き、[タスクスケジューラ]を開きます。

左メニューのタスクスケジューラライブラリをクリックし、右側の操作メニューから[タスクの作成]をクリックします。すると、タスクの作成画面が表示されます。タスクの各項目は以下の通り設定します。

[全般]タブでは、任意の名前を指定します。ここで重要なのは、「ユーザがログインしているかどうかにかかわらず実行する」を選択することと、「最上位の特権で実行する」にチェックを入れましょう!

[トリガー]で実行したい日時を設定します。

[操作]で、作成したbatファイルを指定します。

[条件]と[設定]は特に変更はしませんが、必要に応じてパラメータを変更ください。

最後に「OK」を押下して、管理者のパスワードを入力します。

無事設定が完了しましたら、状態が「準備完了」になっていることと、次回の実行時刻が、指定した実行日時になっていることを確認します。

あとは、指定の日時に、Windows Backupが動作するかを確認します。Windows Backupのアプリケーションからも実行履歴が確認できます。

もし、Linuxサーバでバックアップを安全に取得する手順が知りたい場合は、Linuxサーバで別のLinuxサーバに安全にバックアップを取得する方法で紹介していますので、ご参照ください。

今回はここまでです。最後までお読みいただきありがとうございました。