Windowsのバックアップは、WindowsBackupを使用してもバックアップが取得できますが、robocopyコマンドを使用して、ファイルをコピーすることで簡易的にバックアップも可能です。ここでは、コマンドのオプションと共に紹介します。
robocopyのbatファイル
以下のようなバッチファイルを作成します。ここでは、バックアップ先のwindows PCでバックアップ元(192.168.1.11)のデータをコピーするbatを実行する想定です。
@echo off
rem コピー元ファイルを指定する
set SRCDIR1=\\192.168.1.11\d$\Documents
set SRCDIR2=\\192.168.1.11\c$\Users\dassyi\Desktop
rem コピー先ファイルを指定する
set TGTDIR1=D:\Backup_data\Documents
set TGTDIR2=D:\Backup_data\Desktop
rem ログファイルを指定する
set LOGFILE=D:\Backup_data\logs\%date:~0,4%-%date:~5,2%-%date:~8,2%_backup.log
rem オプションを指定する
set swch=/COPY:DAT /MIR /xf *.lck /j /mt:2 /FFT /R:0 /W:0
echo ************************************************************************
echo 「%SRCDIR1%」から
echo 「%TGTDIR1%」への
echo データコピーを開始します
echo ************************************************************************
robocopy.exe "%SRCDIR1%" "%TGTDIR1%" %swch% /LOG+:"%LOGFILE%"
robocopy.exe "%SRCDIR2%" "%TGTDIR2%" %swch% /LOG+:"%LOGFILE%"
robocopyのオプション
上記batファイルで使用するオプションの説明をします。使用する環境に応じて適時変更ください。
オプション | 動作内容 |
/COPY | コピーするファイルのプロパティを指定します。 このオプションの有効な値は次のとおりです。D – データ A – 属性 T – タイム スタンプ X – 代替データ ストリームをスキップする S – NTFS アクセス制御リスト (ACL) O – 所有者情報 U – 監査情報 /COPY オプションの既定値は DAT (データ、属性、タイム スタンプ) です。 /B または /ZB のいずれかが使用されている場合、X フラグは無視されます。 |
/MIR | ディレクトリ ツリーをミラー化 (に相当 /e plus パージ/)。 このオプションを /e オプションと宛先ディレクトリと共に使用すると、宛先ディレクトリのセキュリティ設定が上書きされます。 |
/XF | 指定した名前またはパスに一致するファイルを除外します。 ワイルドカード文字 (* および ?) がサポートされています。ここでは、.lckファイルを除外しています。 |
/j | バッファリングされない I/O を使用してコピーします (大きなファイルに推奨されます)。ここでは、windows backupのデータなど大きなファイルを想定して付与しています。 |
/mt | n 個のスレッドによるマルチスレッド コピーを作成します。 n は、1 から 128 までの整数である必要があります。 n の既定値は 8 です。 パフォーマンスを向上させるには、/log オプションを使用して出力をリダイレクトします。/mt パラメーターを /ipg および /efsraw パラメーターと共に使用することはできません。ここでは2としていますが、サーバなどでは16や32を使用すると早くなる場合があります。 |
/FFT | FAT ファイル時間 (2 秒の精度) を想定します。 |
/R | 失敗したコピーの再試行回数を指定します。 n の既定値は 1,000,000 (100 万回の再試行) です。ここでは0回、つまり再試行なしで設定しています。 |
/W | 再試行間の待ち時間 (秒) を指定します。 n の既定値は 30 (30 秒の待ち時間) です。ここでは0秒、つまり待ち時間なしで設定しています。 |
バックアップの実行
バックアップの実行は、上記で作成したbatファイルを手動で実行する、または、タスクスケジューラに設定して定期的に実行します。(タスクスケジューラーの設定方法は割愛します)
ログファイルを出力するように設定していますので、正常に終了したか、どのファイルがコピーされたか等、確認するようにしましょう。
今回はここまでです。最後までお読みいただきありがとうございました。