web-dev-qa-db-ja.com

あるドライブから別のドライブにファイルをコピーするのに何が速いですか?

Linuxを実行しています。同じマシンに2つの同じドライブをマウントしています。より高速なCP、MV、またはRSYNCとは何ですか?なぜ一方が他方より速いのですか?より速い代替案はありますか?

3
T. Brian Jones

ソースと宛先が異なるパーティションにマウントされている場合、cpは何も最適化できないため、mvmvはほぼ同じように動作します。

rsyncは、増分転送を実行している場合(毎日のバックアップを実行している場合など)、または宛先がveryリモートである場合、および/または通信の信頼性が低い場合(インターネット)。

rsyncは、それがあなたのものである場合、素晴らしい実行中のプログレスバーも提供します:)

mvrsyncの両方をベンチマークできますが、rsyncは転送時間と速度自体を報告しますが、time mvその後、速度を計算します。

4
adaptr

たとえわずかであっても、cpが最速であると私は主張したいと思います。

ドライブ間では、「mv」は基本的にcp + rmになります(宛先にコピーしてから、ソースから削除します)。同じファイルシステム上で、「mv」は実際にはデータをコピーせず、iノードを再マップするだけなので、cpよりもはるかに高速です。

Rsyncはcpよりも遅くなります。それは、ファイル全体をコピーする必要があるためです。また、追加のオーバーヘッドがあります(この場合はマイナーであっても)。大部分のデータがすでにターゲットドライブにあり、小さなデルタをコピーするだけでよい場合、Rsyncが勝つ可能性があります。

3の多少の比較 here があります。

7
cyberx86