robocopy コマンドがWindows server 2008 R2から動きが変わっているようです

今日はrobocopyについて

 

このrobocopy通常のファイルコピーよりも高速にコピーができるため、ファイルサーバーの移行やバックアップを取得する際にお世話になっている方も多いかもしれません。

 

実は先日、ファイルサーバーの移行をする際に移行元サーバー(Windows server 2008)と移行先サーバー(Windows server 2008 R2)どちらから実行するかで、実行時にかかる時間が違ったため調べてみたところ仕様が変わっていました。

 

結論から言いますとWindows Server 2008 R2ではファイルのDOS情報のコピーが追加されたためR2の方がオプションなしのデフォルトの状態ではR2の方が実行時間がかかるという結果になります。

 

もう少し詳しく言うと

移行元(Windows Server 2008)のコマンドプロンプトから実行するのか、移行先(Windows SErver 2008 R2)のコマンドプロンプトから実行するのかという違いです。

今回はどちらも同じように共有されているためどちらからでも実行することができたので試すこともできました。

 

 その時に使ったコマンドオプションは

  robocopy /mir /tee /log+:c:\users\documents

 

コマンドの説明

/mir オプション:ミラー

/tee 実行結果の出力(処理が見えるので分かりやすい)

/log+ オプション:ログ出力(+で追記)

 

ただ、最後に誤解のないように言っておくと(参考リンクに書いてるように)あくまでデフォルトで実行した場合のことで、Windows Server 2008 R2側で /DCOPY:A オプションをつけてあげれば同様のパフォーマンスを出すことは可能です。

 

参考リンク

大幅にパフォーマンスが低下ディレクトリ ツリーのレプリケーションで Windows 7 または Windows Server 2008 R2 では、Robocopy コマンドを使用する場合

 

Robocopy