09 August 2009

ファイルバックアップ比較 robocopy, RichCopy, BunBackup

簡易的なファイルのバックアップに Microsoft robocopy を用いているが、今年になって Microsoft RichCopy がリリースされたので、それぞれ比較してみることにする。 結果として robocopy を使い続けることになったわけだが…
(2007年8月の『Windowsサーバでのバックアップ (xcopy, robocopy)』の続編記事です)

それぞれのバックアップソフトウエアの機能比較

世代管理 テスト(プレビュー) コマンドライン
Microsoft RoboCopy ×
Microsoft RichCopy × ×
BunBackup

■ Microsoft RoboCopy
Microsoft Windows Server 2003 Resource Kit Tools に含まれているコマンドラインツール。

テストモードの例

robocopy c:\data d:\backup /L /E /PURGE /XO /Z /R:1

実際のバックアップの例

robocopy c:\data d:\backup /E /PURGE /XO /Z /R:1 /TEE /LOG:"c:\log\log.txt" /NP

よく使うオプションスイッチ

スイッチ 説明
/S サブディレクトリもコピーする。(空のディレクトリはコピーしない)
/E サブディレクトリもコピーする。(空のディレクトリもコピーする)
/Z 再開可能なモードで実行する(途中で^Cで中断した場合、再実行で再開可能)
/L テストモード(実際にコピーせずに、ログのみ表示・出力)
/PURGE コピー元に無いファイルがコピー先に存在した場合、削除する
/MIR /E と /PURGE を両方指定した場合と同じ
/XF [str] ファイル名 [str] にマッチするファイルは除外 (例:/XF *.bak)。複数指定可
/XD [str] ファイル名 [str] にマッチするファイルは除外 (例:/XF tmp*)。複数指定可
/XC 変更された(ファイルサイズが増減した)ファイルを除外
/XN タイムスタンプがより新しいファイルを除外
/XO タイムスタンプがより古いファイルを除外
/R:n リトライ回数 (例:/R:1)。指定しなければ1000000回
/W:n リトライ時の待ち秒数 (例:/W:60)。指定しなければ30秒
/LOG:str ログファイル名 (例: /LOG:"c:\log\log.txt")
/NP 「○○%完了」の表示をしない (ログ書き出し時に便利)
/TEE ログファイルに出力と同時に、コンソール画面にも表示

※/XOオプションをつけないと、古いファイルをバックアップしてしまう。ファイルサイズ増減のチェックはデフォルトでONである。

参考:Windows Server World Online 『データ保全のススメ 3

■ Microsoft RichCopy (GUIでの利用)
TechNetのコード・ラボ 2009年4月からダウンロードできる。TechNet magazineで『RoboCopy の高度な代替ツール、RichCopy』としても紹介されている。

20090809-richcopy.png
RichCopyのGUI

20090809-richcopy-cfg01.png
オプション(概要)設定画面で、コピー条件を設定できる。
ファイルサイズ、属性、タイムスタンプ(作成・変更・アクセス)などが設定できる。

ファイルサイズ増減チェックをONにする必要性がある。(デフォルトではファイルサイズの増減は無視される)


20090809-richcopy-cfg02.png
オプション(詳細:その他)で、ログオプションを設定する。コピー・削除したファイル名は、ここで設定しない限り、デフォルトでは表示されない。

オプション(詳細:その他)には、コマンドラインで実行する場合のパラメータが表示される。

オプション設定を「ファイルに保存」することで、その保存したファイルをシェル実行することでバックアップを自動的に実行させることが出来る。 なお、テストモードは存在しない

■ Microsoft RichCopy (コマンドラインでの利用)

GUIで作成したプロファイルを使用する場合は次のようにする。 ここでは、config.rcx というプロファイルを利用する

RichCopy /PF c:\cfg\config.rcx

全てコマンドラインで処理したい場合は、たとえば次のように実行すればよい。

RichCopy c:\data d:\backup /FSD /TSU /CLW /FAD /P /QO /QP "f:\temp\richcopy.log" /UC /UPF

よく使うオプションスイッチ。 なお、GUIのオプション(詳細:その他)にコマンドラインのスイッチが例示される。

スイッチ 説明
/FSD ファイル・サイズが違う場合コピー
/FAD ファイル属性が違う場合コピー
/TSU /CLW 最終編集日時が更新されていればコピー
/TSD /CLW 最終編集日時が違っていればコピー
/P コピー元に無いファイルは削除する
/QO ログファイルを出力する(ファイルが存在すれば、上書き)
/QP [str] ログファイル名を指定する (例: /QP c:\log\log.txt)
/UC ログファイルに、コピーしたファイル名を出力
/UPF ログファイルに、削除したファイル名を出力

■ BunBackup

フリーソフトウエアで作者のページからダウンロードできる。プレビューや世代管理に対応している。 保存したプロファイルを用いて、コマンドラインから実行することも出来る。

20090809-bunbackup01.png
基本的な条件設定

20090809-bunbackup02.png
世代管理の設定

保存したプロファイルを用いて、コマンドライン上から実行する方法

BunBackup /AUTO:c:\cfg\config.lbk ← ダイアログを表示 BunBackup /AUTO:c:\cfg\config.lbk ← 寡黙なモード

プレビューは次のように行う

BunBackup /PREVIEW:c:\cfg\config.lbk