本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
簡単に複製したいだけ /mir
2回目以降上書きされるもの(オプションつけなくても基本的な動作)
- コピー先に存在しないファイル
- 名前が同じでも、更新日付が異なるファイル(新しいファイルだけではなく、コピー元の方が古くてもコピー対象となる)
- 名前と日付が同じでも、サイズが異なるファイル
完全に同期させるためには
/mir
オプションをつける。
- コピー元フォルダとコピー先フォルダは完全に一致
- 不足があれば新規作成される
- 日付サイズに相違があれば上書き更新
- コピー元から削除されたファイル・フォルダはコピー先でも削除される
robocopy コピー元 コピー先 /mir
コピー元フォルダと同じ状態になるように、コピー先フォルダへファイルがコピーされる。コピー先に不足するものがあれば新規作成されるし、日付やサイズが相違するファイルがあれば上書き更新される。さらに、コピー先に余分なファイルやフォルダがあれば、それらは削除される。
単純に差分更新されたものだけ効率的にコピーしたければ
/mir オプション
を覚えておけばOKです。
コマンド基本
-------------------------------------------------------------------------------
ROBOCOPY :: Windows の堅牢性の高いファイル コピー
-------------------------------------------------------------------------------
開始: 2021年11月19日 16:43:58
使用法:: ROBOCOPY コピー元 コピー先 [ファイル [ファイル]...]
[オプション]
コピー元 :: コピー元ディレクトリ (ドライブ:\パスまたは \\サーバー
\共有\パス)。
コピー先 :: コピー先ディレクトリ (ドライブ:\パスまたは \\サーバー
\共有\パス)。
ファイル :: コピーするファイル (名前/ワイルドカード: 既定値は「*.*」
です)
ACL含め全てコピーしたい
私は、サーバを旧サーバから新サーバに移行する際に、ACL(アクセス権)を含めてサーバ間でネットワークコピー操作を行いました。ACLを完全にコピーしたい場合、robocopyはとても有用です。
コピー元と、アクセス権を含めてコピーしたい場合
/copyall すべてのファイル情報のコピー (に相当 /copy:DATSOU)。
/copyall オプションを利用します。
実際には以下のようなバッチファイルを作成しました。
echo 開始:%date% %time% > copylog.txt
rem ACLCOPYのため
robocopy \\192.168.11.1\r$\DataFolder D:\DataFolder /R:1 /mir /copyall >> copylog.txt
echo 終了:%date% %time% >> copylog.txt
pause
解説
サーバ移行に当たり、データ量がかなり多かったので、どのくらいの時間がかかるのかを計測しながら行いました。開始時刻・終了時刻がログに記載されるようにしました。
コピー元 サーバ192.168.11.1 のRドライブにあるDataFolder
コピー先 ローカルDドライブにあるDataFolder
/R:1 コピーできなかった時に再試行する回数
/mir コピー元フォルダと同じ状態になるように、コピー先フォルダへファイルがコピーされる。コピー先に不足するものがあれば新規作成されるし、日付やサイズが相違するファイルがあれば上書き更新される。さらに、コピー先に余分なファイルやフォルダがあれば、それらは削除される。
/copyall D=データ、A=属性、T=タイムスタンプ、S=セキュリティ、O=所有者情報、U=監査情報を含めすべてコピーする
コピーオプション
::
:: コピー オプション:
::
/S :: サブディレクトリをコピーしますが、空のディレクトリはコピ
ーしません。
/E :: 空のディレクトリを含むサブディレクトリをコピーします。
/LEV:n :: コピー元ディレクトリ ツリーの上位 n レベルのみをコピーし
ます。
/Z :: 再起動可能モードでファイルをコピーします。
/B :: バックアップ モードでファイルをコピーします。
/ZB :: 再起動可能モードを使用します。アクセスが拒否された場合、
バックアップ モードを使用します。
/J :: バッファーなし I/O を使用してコピーします (大きなファイル
で推奨)。
/EFSRAW :: 暗号化されたすべてのファイルを EFS RAW モードでコピーし
ます。
/COPY:コピーフラグ :: ファイルにコピーする情報 (既定値は /COPY:DAT)。
(コピーフラグ: D= データ、A= 属性、T= タイムスタンプ)。
(S= セキュリティ =NTFS ACL、O= 所有者情報、U= 監査情報)。
/SEC :: セキュリティと共にファイルをコピーします (/COPY:DATS と
同等)。
/COPYALL :: ファイル情報をすべてコピーします (/COPY:DATSOU と同等)。
/NOCOPY :: ファイル情報をコピーしません (/PURGE と共に使用すると便
利)。
/SECFIX :: スキップしたファイルも含むすべてのファイルのファイル セ
キュリティを修正します。
/TIMFIX :: スキップしたファイルも含むすべてのファイルのファイル時刻
を修正します。
/PURGE :: 既にコピー元に存在しないコピー先のファイル/ディレクトリ
を削除します。
/MIR :: ディレクトリ ツリーをミラー化します (/E および /PURGE と
同等)。
/MOV :: ファイルを移動します (コピー後にコピー元から削除)。
/MOVE :: ファイルとディレクトリを移動します (コピー後にコピー元か
ら削除)。
/A+:[RASHCNET] :: コピーされたファイルに指定の属性を追加します。
/A-:[RASHCNET] :: コピーされたファイルから指定の属性を削除します。
/CREATE :: ディレクトリ ツリーと長さ 0 のファイルのみを作成します。
/FAT :: 8.3 FAT ファイル名のみを使用してコピー先ファイルを作成し
ます。
/256 :: 256 文字を超える非常に長いパスのサポートをオフにします。
/MON:n :: コピー元を監視し、n 回を超える変更があった場合に再度実行
します。
/MOT:m :: コピー元を監視し、m 分後に変更があった場合に再度実行
します。
/RH:hhmm-hhmm :: 実行時間 - 新しいコピーを開始できる時刻です。
/PF :: 実行時間をファイルごと (パスごとではない) に確認します。
/IPG:n :: 低速回線で帯域幅を解放するためのパケット間ギャップ (ミリ
秒)。
/SL :: 対象ではなくシンボリック リンクをコピーします。
/MT[:n] :: n 個のスレッドのマルチスレッド コピーを実行します
(既定値 8)。
n は 1 から 128 までの値である必要があります。
このオプションは、/IPG および /EFSRAW オプションと互換性
がありません。
パフォーマンスの向上のため、/LOG オプションを使用して出力
をリダイレクトします。
/DCOPY:コピーフラグ :: ディレクトリにコピーする情報 (既定値は /DCOPY:DA)。
(コピーフラグ: D= データ、A= 属性、T= タイムスタンプ)。
/NODCOPY :: ディレクトリ情報をコピーしません (既定では /DCOPY:DA が
実行されます)。
/NOOFFLOAD :: Windows のオフロードをコピーするメカニズムを使用せずに、
ファイルをコピーします。