Posts tagged: robocopy

robocopy で快適なバックアップ生活を送る

walk-along-the-beac

自分の 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 は標準でマルチスレッド対応ですし、コピー速度も申し分なく早いので、コマンドで指定するのが苦でなければかなりお勧めです。

関連アイテム

WordPress Themes