PR

robocopyでwindowsのデータをバックアップ

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のデータなど大きなファイルを想定して付与しています。
/mtn 個のスレッドによるマルチスレッド コピーを作成します。 n は、1 から 128 までの整数である必要があります。 n の既定値は 8 です。 パフォーマンスを向上させるには、/log オプションを使用して出力をリダイレクトします。/mt パラメーターを /ipg および /efsraw パラメーターと共に使用することはできません。ここでは2としていますが、サーバなどでは16や32を使用すると早くなる場合があります。
/FFTFAT ファイル時間 (2 秒の精度) を想定します。
/R失敗したコピーの再試行回数を指定します。 n の既定値は 1,000,000 (100 万回の再試行) です。ここでは0回、つまり再試行なしで設定しています。
/W再試行間の待ち時間 (秒) を指定します。 n の既定値は 30 (30 秒の待ち時間) です。ここでは0秒、つまり待ち時間なしで設定しています。
公式サイト https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/robocopy より引用

バックアップの実行

バックアップの実行は、上記で作成したbatファイルを手動で実行する、または、タスクスケジューラに設定して定期的に実行します。(タスクスケジューラーの設定方法は割愛します)

ログファイルを出力するように設定していますので、正常に終了したか、どのファイルがコピーされたか等、確認するようにしましょう。

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