robocopy で快適なバックアップ生活を送る
自分の PC のバックアップをどのように取得しようかと思っている方に、特にお勧めしたいのが robocopy です。
このコマンド字体は Windows Vista から標準で組み込まれているものなのですが、Windows7 でも使用できますので、daily のバックアップを自分のポリシーで取りたい!という方にはもってこいだと思います。
自分が使用しているコマンドオプション
robocopy C:\Users\hogehoge P:\99_Backup\hogehoge /R:0 /XO /Z /MT /dcopy:T /MOT:10 /E
これを適当なバッチファイル名で保存して、タスクスケジューラーで起動するようにしています。
この例ですと、C:\Users\hogehoge を 10 分のインターバルで監視して、P:\99_Backup\hogehoge と差分が発生しているファイルがあれば、差分のみをコピーする、という内容になっています。
また、使用しているファイルなどはロックがかかっている可能性が高く、コピーできないので、エラーが発生したときは、リトライ処理を欠けずにそのままスルーするようにしています。
コピーオプション
/S :: 空でないサブフォルダをコピーする
/E :: 空のものも含めてサブフォルダをコピーする
/LEV:n :: ソースフォルダツリーの中の上位 n レベルのみをコピーする
/Z :: 再開可能 (restartable) モードでファイルをコピーする
/B :: バックアップモードでファイルをコピーする
/ZB :: 可能なら再開可能モードで不可ならバックアップモードを使う
/COPY:copyflag[s] :: copyflag で指定されたファイル情報をコピーする ( デフォルトは /COPY:DAT)
D : データ A : 属性 T : タイムスタンプ
S : セキュリティ情報 (NTFS の ACL) O= 所有者情報 U= ファイル監査情報
/SEC :: セキュリティもコピーする (/COPY:DATS と同じ )
/COPYALL :: すべてのファイル情報をコピーする (/COPY:DATSOU と同じ )
/NOCOPY :: ファイル情報をコピーしない (/PURGE と一緒に使える )
/PURGE :: コピー元にないファイル・フォルダを削除する
/MIR :: ミラーリングコピーする (/E と /PURGE を指定したのと同じ )
/MOV :: ファイルを移動する ( コピー後にコピー元から削除する )
/MOVE :: ファイルとフォルダを移動する ( コピー後にコピー元から削除する )
/A+:[RASHNT] :: コピーされたファイルに与えられた属性を加える
/A-:[RASHNT] :: コピーされたファイルから与えられた属性を削除する
R : Read only S : System N : Not content indexed
A : Archive H : Hidden T : Temporary
/CREATE :: フォルダツリーと 0 バイトのファイルを作るのみ
( データはコピーされない )
/FAT :: コピー先ファイルを 8.3 形式のファイル名で作成する
/FFT :: FAT タイムスタンプ ( 精度 2 秒 ) であると見なす
/256 :: 非常に長いパス (256 文字以上 ) のサポートをオフにする
/MON:n :: コピー元を監視,n 回以上の変更があったら再実行する
/MOT:m :: コピー元を監視,m 分後に変更があったら再実行する
/RH:hhmm-hhmm :: コピー開始できる時間帯を指定します
/PF :: 処理単位ではなくファイル単位で実行時間帯のチェックをする
/IPG:n :: 遅い回線の帯域を確保するためパケット間に n ミリ秒のギャップを挿入する
総括
あまり書くことがなくなってしまいましたが、robocopy は標準でマルチスレッド対応ですし、コピー速度も申し分なく早いので、コマンドで指定するのが苦でなければかなりお勧めです。








