Robocopy(Robust File Copy) は、Windowsに組み込まれている強力なファイルコピーおよびディレクトリコピーのコマンドラインユーティリティです。Microsoftによって開発されたもので、Windows NT 4.0から導入され、Windowsの標準機能として提供されています。通常のコピーコマンドよりも多機能で、信頼性の高いファイル転送を行うために設計されています。大容量のファイルの転送や複数のフォルダの同期、コピーの中断と再開、エラーの回避など、高度なファイル操作が可能です。
Robocopyは、特にバックアップやファイルの同期に最適で、一般的なファイル転送ツールとは異なり、ネットワーク越しの転送や一部の障害を乗り越える堅牢性を持つため、システム管理者やITプロフェッショナルによく利用されています。
Robocopyの特徴
1. 差分コピー
Robocopyは、コピー元とコピー先のファイルを比較し、変更があったファイルだけを転送する「差分コピー」を行うことができます。これにより、コピーの速度が向上し、必要のないデータ転送を省くことができます。例えば、大量のファイルを含むディレクトリのバックアップを定期的に行う際に、効率的なデータ転送が可能になります。
2. 再試行機能とエラー処理
Robocopyは、コピー中にエラーが発生した場合でも、一定回数の再試行を行い、可能な限り転送を続行します。この機能により、一時的なネットワーク障害や一部のファイルのアクセスエラーなどが発生しても、プロセス全体が中断されるのを防ぐことができます。また、エラー発生時の詳細なログを出力することも可能です。
3. ミラーリング機能
Robocopyは、コピー元とコピー先のディレクトリを完全に同期するミラーリング機能を提供します。これにより、コピー元の構成をそのままコピー先に反映することが可能です。削除されたファイルをコピー先から削除するなど、完全な同期を行う際に便利です。
4. ファイルの属性とメタデータの保持
Robocopyは、ファイルの属性やセキュリティ情報、タイムスタンプなどのメタデータを維持したままファイルをコピーすることができます。これにより、元のファイルと同じ状態でデータを転送でき、ファイルの整合性が保たれます。
5. 大量ファイルの処理とネットワークの効率化
Robocopyは、数十万から数百万のファイルを扱うことができるため、大規模なデータ移行やバックアップに最適です。また、ネットワーク帯域の使用を制御するオプションも備えており、ネットワーク負荷を調整しながらコピーを実行することが可能です。
Robocopyの基本的な使い方
Robocopyの基本的な構文は次のとおりです:
robocopy <コピー元> <コピー先> [<オプション>]
例1: 基本的なファイルコピー
robocopy C:\source D:\destination
このコマンドは、C:\source
から D:\destination
へファイルをコピーします。
例2: サブフォルダと空のフォルダを含むコピー
robocopy C:\source D:\destination /E
/E
オプションを使用すると、サブフォルダや空のフォルダも含めてコピーします。
例3: 差分コピー
robocopy C:\source D:\destination /MIR
/MIR
オプションは、ミラーリングを行い、コピー元とコピー先を完全に同期します。削除されたファイルも反映されますので、注意が必要です。
Robocopyのオプション一覧
Robocopyには、多数のオプションがあり、細かい制御が可能です。代表的なオプションをいくつか紹介します:
/S
:空でないサブフォルダをすべてコピーします。/E
:空のフォルダも含めてすべてのサブフォルダをコピーします。/Z
:中断しても再開可能なコピーを行います(ネットワーク経由でのコピーに便利)。/R:n
:失敗時の再試行回数を指定します。デフォルトは1,000回です。/W:n
:再試行間の待機時間を秒単位で指定します。デフォルトは30秒です。/MIR
:ミラーリングコピーを行い、コピー先を元と同じ状態にします。
Robocopyの活用例
1. バックアップの自動化
Robocopyはスクリプトに組み込むことで、定期的なバックアップを自動化することができます。タスクスケジューラと組み合わせて、定期的なバックアップジョブを簡単に設定可能です。
2. データ移行
大規模なファイルの移行やサーバー間のデータ転送にも利用されます。複数のファイルを効率よくコピーし、エラー処理を行いながら実行できるため、移行作業を効率化します。
3. ネットワーク経由でのファイル同期
リモートサーバーや異なるネットワーク間でのファイル同期にも活用できます。帯域幅を制御しながらファイルを同期することも可能です。
まとめ
Robocopyは、Windowsに標準搭載されている高機能なファイルコピーツールであり、信頼性の高いバックアップやファイルの同期、データ移行に役立つ強力な機能を持っています。システム管理者やITプロフェッショナルにとって、効率的なデータ管理を行うための必須ツールと言えるでしょう。適切にオプションを設定し、安全で迅速なファイルコピーを実現できます。