Windows Server バックアップの GUI での設定では共有フォルダをバックアップ先に指定すると世代管理や複数のスケジュールを設定することはできません。
コマンドラインで実行するバッチファイルを作成し、タスクスケジューラに設定して実行できるようにしてみます。
【設定手順】
- Windows Server バックアップを実行するコマンド
サーバー全体をバックアップ対象に指定し、「\\192.168.0.1\Backup」フォルダに出力する例です。
wbadmin start backup -backupTarget:\\192.168.0.1\Backup -allCritical -quiet
- 上記コマンドでは実行するたびに上書きをしてしまいます。
これでは世代でバックアップをとれないので曜日ごとに別のディレクトリに保存するようにしてみます。
まず、曜日を取得するためのvbsファイルを作成します。
テキストファイルに以下の内容を記載し、「weekday.vbs」というファイル名にします。
WScript.Quit(WeekDay(Date))
- バッチコマンド内で同じディレクトリ内に配置した上記のvbsを実行して曜日を取得し、実行した日の曜日フォルダにバックアップを取るようにしてみます。
バックアップするディレクトリ内に「01.SUN」「02.MON」・・・「07.SAT」というフォルダを事前に作成しておきます。
rem 実行ディレクトリを取得
SET current_dir=%~dp0
rem 曜日を取得する
cscript /b %current_dir%weekday.vbs
if %errorlevel%==7 set WEEKDAY=07.SAT
if %errorlevel%==6 set WEEKDAY=06.FRI
if %errorlevel%==5 set WEEKDAY=05.THU
if %errorlevel%==4 set WEEKDAY=04.WED
if %errorlevel%==3 set WEEKDAY=03.TUE
if %errorlevel%==2 set WEEKDAY=02.MON
if %errorlevel%==1 set WEEKDAY=01.SUN
rem バックアップ保存先のディレクトリを設定
SET DIR=\\192.168.0.1\backup\
rem バックアップ保存先のディレクトリの中の曜日フォルダにバックアップを実行
wbadmin start backup -backupTarget:%DIR%\%WEEKDAY% -allCritical -quiet
- 上記のコマンドにログ出力も含めたサンプルです。
共有フォルダへ事前にアクセスしてパスを通しておきます。
cd \
net use /DELET W:
net use W: \\192.168.0.1\backup /user:ユーザー パスワード
rem 実行ディレクトリを取得
SET current_dir=%~dp0
rem 曜日を取得する
cscript /b %current_dir%weekday.vbs
if %errorlevel%==7 set WEEKDAY=07.SAT
if %errorlevel%==6 set WEEKDAY=06.FRI
if %errorlevel%==5 set WEEKDAY=05.THU
if %errorlevel%==4 set WEEKDAY=04.WED
if %errorlevel%==3 set WEEKDAY=03.TUE
if %errorlevel%==2 set WEEKDAY=02.MON
if %errorlevel%==1 set WEEKDAY=01.SUN
SET LOG=%current_dir%%WEEKDAY%.log
SET DIR=\\192.168.0.1\backup\
echo ========================================== >%LOG%
echo バックアップ開始 %DATE% %TIME%(%WEEKDAY%)>>%LOG%
echo ========================================== >>%LOG%
wbadmin start backup -backupTarget:%DIR%\%WEEKDAY% -allCritical -quiet >>%LOG%
echo ========================================== >>%LOG%
echo バックアップ終了 %DATE% %TIME%(%WEEKDAY%)>>%LOG%
echo ========================================== >>%LOG%
net use /DELET W:
コマンドの書き方次第で柔軟なバックアップスケジュールを組むことができます。
下記、TechNet のドキュメントも参考にしてみてください。
【参考情報】