ファイルの変更時間やサイズに関係なく、安全なネットワーク経由で小さなファイルをコピーする最速の方法

ファイルの変更時間やサイズに関係なく、安全なネットワーク経由で小さなファイルをコピーする最速の方法

dir1 と dir2 (2 つの異なるサーバー) のファイルを同期したい。

ファイルのサイズや変更時刻が異なっていても問題ありません。

例: dir1 には file1、file2、file3、file4 が含まれ、dir2 には file2、file3、file5 が含まれます。

file5 を dir1 にコピーし、file1、file4 を dir2 にコピーします。

file2 のサイズは異なり、file3 の変更時間も異なりますが、私は気にしません。私のネットワークもプライベートなので、セキュリティのオーバーヘッドは発生させたくないのです。

どれが一番速いでしょうか:

NFS マウント上の rsync、scp、または cp ですか? また、正確には、対応するコマンド ラインは何ですか?

答え1

これは主に理論的な話です。制限要因はネットワーク帯域幅である可能性が高いからです。実際に注意すべき唯一のことは、ファイルのサイズと操作の数です。小さなファイルが多数あると、小さなコピー操作も多数発生します。

しかし、現状では、状況によって異なるため、何が「最速」であるかを確実に言うことは困難です。

で多くの問題が発生するとは思えませんrsync。その理由は単純で、コピーを行う前に何かする必要があるかどうかをチェックするからです。必要のないものをコピーしないよりも効率的な方法はほとんどありません。

小さなファイルがたくさんある場合は、テープへの書き込み用に設計されているtarのでtar、ネットワーク経由でディレクトリ構造をストリーミングするのに非常に適しています。例:

tar cvfz - ./path_to_copy | ssh $remotehost "( cd $destination && tar xvfz - )"

関連情報