robocopyで快適バックアップ
更新:11/10/04 | robocopyで快適バックアップ | DOS/V
xcopy, richcopyを超えたファイルコピーコマンド。robocopy
バックアップソフトというととかく高価なソフトウェアが思い浮かびますが、ブート可能な状態でシステムファイルなどを保護する目的の他に、データを保護する目的のバックアップであればファイルコピー機能を駆使することでも実現が可能です。
元々はcopyコマンドやxcopyコマンドでバックアップを取っていましたが、現在ではrobocopy(リソースツールキットに同梱)やRichCopy(MS社員お手製)などが主流です。
一般的なユーザーはGUIを好むため、RichCopyを薦めるような記事も多いようですが個人的には圧倒的にrobocopyをお勧めします。
その理由は以下の通りです。
コマンドラインツールのためオプションがはっきりと判別できる。GUIだと関係ないオプションまで全て表示され、On/Offを意識しなくてはなりません。
複製がとても簡単。1行コピー&ペーストして修正すれば終わりです。
自由度が高い。シーケンシャルに実行させたり、条件によって実行内容を変えたりすることがバッチファイルであれば簡単に実現できます。
基本となるrobocopyのオプションをおさらいしておきます。
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows :: Version XP010
-------------------------------------------------------------------------------
Started : Thu Jul 01 13:00:42 2010
Usage :: ROBOCOPY source destination [file [file]...] [options]
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir (drive:\path or \\server\share\path).
file :: File(s) to copy (names/wildcards: default is "*.*").
::
:: Copy options :
::
/S :: copy Subdirectories, but not empty ones.
/E :: copy subdirectories, including Empty ones.
/LEV:n :: only copy the top n LEVels of the source directory tree.
/Z :: copy files in restartable mode.
/B :: copy files in Backup mode.
/ZB :: use restartable mode; if access denied use Backup mode.
/COPY:copyflag[s] :: what to COPY (default is /COPY:DAT).
(copyflags : D=Data, A=Attributes, T=Timestamps).
(S=Security=NTFS ACLs, O=Owner info, U=aUditing info).
/SEC :: copy files with SECurity (equivalent to /COPY:DATS).
/COPYALL :: COPY ALL file info (equivalent to /COPY:DATSOU).
/NOCOPY :: COPY NO file info (useful with /PURGE).
/PURGE :: delete dest files/dirs that no longer exist in source.
/MIR :: MIRror a directory tree (equivalent to /E plus /PURGE).
/MOV :: MOVe files (delete from source after copying).
/MOVE :: MOVE files AND dirs (delete from source after copying).
/A+:[RASHNT] :: add the given Attributes to copied files.
/A-:[RASHNT] :: remove the given Attributes from copied files.
/CREATE :: CREATE directory tree and zero-length files only.
/FAT :: create destination files using 8.3 FAT file names only.
/FFT :: assume FAT File Times (2-second granularity).
/256 :: turn off very long path (> 256 characters) support.
/MON:n :: MONitor source; run again when more than n changes seen.
/MOT:m :: MOnitor source; run again in m minutes Time, if changed.
/RH:hhmm-hhmm :: Run Hours - times when new copies may be started.
/PF :: check run hours on a Per File (not per pass) basis.
/IPG:n :: Inter-Packet Gap (ms), to free bandwidth on slow lines.
::
:: File Selection Options :
::
/A :: copy only files with the Archive attribute set.
/M :: copy only files with the Archive attribute and reset it.
/IA:[RASHCNETO] :: Include only files with any of the given Attributes set.
/XA:[RASHCNETO] :: eXclude files with any of the given Attributes set.
/XF file [file]... :: eXclude Files matching given names/paths/wildcards.
/XD dirs [dirs]... :: eXclude Directories matching given names/paths.
/XC :: eXclude Changed files.
/XN :: eXclude Newer files.
/XO :: eXclude Older files.
/XX :: eXclude eXtra files and directories.
/XL :: eXclude Lonely files and directories.
/IS :: Include Same files.
/IT :: Include Tweaked files.
/MAX:n :: MAXimum file size - exclude files bigger than n bytes.
/MIN:n :: MINimum file size - exclude files smaller than n bytes.
/MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date.
/MINAGE:n :: MINimum file AGE - exclude files newer than n days/date.
/MAXLAD:n :: MAXimum Last Access Date - exclude files unused since n.
/MINLAD:n :: MINimum Last Access Date - exclude files used since n.
(If n < 1900 then n = n days, else n = YYYYMMDD date).
/XJ :: eXclude Junction points. (normally included by default).
::
:: Retry Options :
::
/R:n :: number of Retries on failed copies: default 1 million.
/W:n :: Wait time between retries: default is 30 seconds.
/REG :: Save /R:n and /W:n in the Registry as default settings.
/TBD :: wait for sharenames To Be Defined (retry error 67).
::
:: Logging Options :
::
/L :: List only - don't copy, timestamp or delete any files.
/X :: report all eXtra files, not just those selected.
/V :: produce Verbose output, showing skipped files.
/TS :: include source file Time Stamps in the output.
/FP :: include Full Pathname of files in the output.
/NS :: No Size - don't log file sizes.
/NC :: No Class - don't log file classes.
/NFL :: No File List - don't log file names.
/NDL :: No Directory List - don't log directory names.
/NP :: No Progress - don't display % copied.
/ETA :: show Estimated Time of Arrival of copied files.
/LOG:file :: output status to LOG file (overwrite existing log).
/LOG+:file :: output status to LOG file (append to existing log).
/TEE :: output to console window, as well as the log file.
/NJH :: No Job Header.
/NJS :: No Job Summary.
::
:: Job Options :
::
/JOB:jobname :: take parameters from the named JOB file.
/SAVE:jobname :: SAVE parameters to the named job file
/QUIT :: QUIT after processing command line (to view parameters).
/NOSD :: NO Source Directory is specified.
/NODD :: NO Destination Directory is specified.
/IF :: Include the following Files.
これは、robocopy /? で表示される内容です。
日本語化された内容は、http://www.sunvisor.net/win/robocopy こちらがとても参考になります。
よく利用するオプションは、
/COPYALL :: すべてのファイル情報をコピーする(/COPY:DATSOUと同じ)
です。大切なフォルダを指定して、/COPYALLとすれば丸々バックアップになるわけです。
後々の整理に若干役立つかもしれないオプションとして、
/S :: 空でないサブフォルダをコピーする
があります。空のフォルダはバックアップされないので、後でバックアップフォルダを参照するときに無駄足を踏まなくてすむという算段です。
COPYALLですと、バックアップを繰り返していくうちにゴミデータが生み出されることがあります。
たとえば、バックアップ元のフォルダ内でフォルダの配置換えを行った場合、バックアップ済みの構成に合成コピーされてしまうため、重複して同じファイルが異なるフォルダに配置された状態などが生まれてしまうのです。
こうした状態を避けるため、完全に同期させるオプションもあります。
/MIR :: ミラーリングコピーする (/Eと/PURGEを指定したのと同じ)
ちなみに
/PURGE :: コピー元にないファイル・フォルダを削除する
ですので、コピーはするが、コピー元にないファイルも同時に削除しますということになります。
/XO :: Olderファイルを除外する
は重要なオプションです。
万が一、コピー先のファイルの方が新しかったら古いファイルを上書きしないというオプションです。
バックアップ先のフォルダ、ファイルに手を加えない運用であれば原則的にこのような状態は生まれないはずですが念のため指定することをお勧めします。
/XD dirs [dirs]... :: 指定されたフォルダ名(パス)と一致するフォルダを除外する
/XF file [file]... :: 指定されたファイル名(パス,ワイルドカード)と一致するファイルを除外する
を使えば、バックアップしなくてもよいフォルダ、ファイルが含まれている場合に便利です。
たとえば、MyDocumentsをバックアップする際にMS-Officeファイルはコピーしたいがサイズの大きいmov、wmv拡張子の動画ファイルは除外したい場合などです。
/XD ".*" "My Music" "My Virtual Machines" "My Videos" "My Games" /XF ".*" "*.CR2"
などとして、Macからのアクセスによって作成された.〜というファイルや不要なフォルダを除外したりして使っています。
ここで、バックアップに求めるもう一つの要望に応えられていないことに気づいたでしょうか?
間違えて削除してしまったファイルのサルベージです。
日時バッチで
"C:\Program Files\Windows Resource Kits\Tools\robocopy.exe" "X:\FTP" "Y:\Data\FTP" "*.*" /s /XO /COPYALL /XD ".*" "My Music" "My Virtual Machines" "My Videos" "My Games" /XF ".*" "*.CR2"
などとしていた場合、X:\FTPフォルダ配下で重要なファイルを削除してしまうと自動的にそのファイルがバックアップセットからも削除されてしまうのです。
この大切なファイルは永遠に失われてしまいます。
これを避けるには修正日時を見て古いものはバックアップ先から削除し、新しいものは様子見で削除しないという2つのパターンを用意することです。
まずは、新しいファイル、フォルダについてはバックアップ元でファイルが削除されていても、バックアップ先は連動して削除されないようにすることを考えます。
/MAXAGE:n 最終更新日が,n 日以前であるか,指定された日付より古いファイルをコピー対象から除外します。n が1900未満の場合は,n は日数を表し,そうでない場合は,YYYYMMDD 形式の日付を表します。
このオプションを使えば、バックアップの対象を新しいファイルに絞り込めます。
少しテストを行っていきます。
"C:\Program Files\Windows Resource Kits\Tools\robocopy.exe" "C:\test_org" "C:\test_dest" "*.*" /s /XO /COPYALL /XD ".*" "My Music" "My Virtual Machines" "My Videos" "My Games" /XF ".*" "*.CR2"
- お勧めリンク
- ダウンロード
- ストリーミング関連
- Macintosh関連
-
- Macでも使えるDVDドライブ
- Leopard詳解
- iLife詳解
- Macの修復方法特集
- Apple MacBook (Pro)
- Macで無線LAN802.11n
- 新旧MacBookベンチマーク
- フルHD編集Apple iMovie&Final Cut Express
- ROXIO Toast Platinum
- フルHD編集Apple Final Cut X
- MacBookのHDD換装方法
- MacとWindowsのファイル共有
- MacでWindowsを遠隔操作
- WinユーザーのためのMac概論
- 無料の辞書検索ツール 英辞郎
- 代表的なタブブラウザの比較
- Macお勧めのフリーソフト紹介
- 無料のOffice環境 NeoOffice
- エミュレータ比較
- Macで最適バックアップ
- iGeek Indelible
- intego PersonalBackup
- EMC® Retrospect® for Mac
- Mac版 ウイルス対策
- Ruby On Rails インストール(Mac編)
- Ruby On Rails 開発の初歩(Model)
- Ruby On Rails 開発環境RadRails
- Ruby On Rails DBメンテナンス
- Excel, Wordを使ってMacで年賀状宛名印刷
- Windows関連
-
- EaseUS Todo Backupで完璧バックアップ
- DVD, Blu-rayリッピングツール AnyDVD HD
- キャプチャーソフト hunuaaCap
- Windows2003でリモートデスクトップ7を動かす
- 最適なバックアップソフトは
- robocopyによるバックアップ
- リージョンフリー
- リージョンフリー化を有効活用
- マルチブート
- Antivir®
- eTrust Antivirus
- AVG AntiVirus
- C#徹底講座
- メーラー Mailer
- VBA徹底活用術
- JustSystemメーラーShuriken
- FTPソフトとコマンドライン解説
- DOS/Vパーツリンク集
- Oracle10gBronze試験対策
- CDからMP3へ簡単に変換する方法
- メディアなど
- ハードウェア
-
- iPhone 3G
- iPhone 4
- iPod+iTunes
- iPhone SDK
- 色域(AdobeRGB)
- hp mini 1000
- 環境紹介
- KDDI au新旧プラン研究
- DVDをMP4にコンバート
- 無線LAN環境802.11n
- キャプチャボード
- HD-LANによるネットワークストレージ構築
- NEC LavieJ LJ500/5A
- LavieJ HDD換装
- LavieJ 調子の悪いHDDの復旧
- LavieJ 無線LANモジュールの換装
- LavieJ メモリの追加
- LavieJ バックアップ作成と復元
- Intel PRO/Wireless 2200BG
- 液晶・プラズマテレビ比較
- プリンタ(hp PSC2550)
- 万能リモコン クロッサム
- 婦人体温計 プチソフィア
- 婦人体温計 マドンナ
- ソフトウェア/サービス/開発SDK
- デジタル一眼レフカメラ
- テクニカル記事
- 趣味関連
- ゲーム 〜楽しいゲームの紹介や攻略法
- RoverMNI(ローバーミニ)
- 雑記
- その他
-
- ネットバンキングに便利な金融機関
- 便利なサイト翻訳機能
- 便利ツール GMail
- 無料電話Gizmoの嘘とほんと
- リンク:一般ページへのリンク集
- 相互リンク:相互リンク募集中!
- 本ページの統計:本サイトの統計データ公開
- コメント・フィードバック