
RHEL 6でBash 4とrsyncを使用すると、次の方法の違いはありますか?それでは、どちらがより効率的であり、これら3つの方法の違いは何ですか?
1) rsync -avz /files/* user@remote_server:/remote_files
2) for file in /files/*; do rsync -avz $file user@remote_server:/remote_files;done
3) for file in /files/*; do screen rsync -avz $file user@remote_server:/remote_files;done
同じサーバーで最速の転送速度に関する情報を探しています。大きなファイルが少なく、小さいファイルが多いとどうなりますか?それはそんなに重要なのか?
答え1
同じサーバーで最速の転送速度に関する情報を探しています。
そのため大きな違いはあってはなりません。ボトルネックネットワーク速度です。
つまり、#3は導入された並列性の可能性のために#1と#2について議論することができますが(私にはあまり慣れていませんが、screen
バックグラウンドに行って実行するとrsync
そうなるでしょう)、最終的に起こることは非常に重要です。必要な時間は重要ではありません。ユーザーとターゲットの間の帯域幅が3MB / sに制限されている場合、2番目のプロセスがすべての帯域幅を使用するのか、10個の並列プロセスがそれぞれ一部を使用するのかは重要ではありません。それでも同期状態は3MBです。 /秘書。
WRT#2(または画面が分割されていない場合#3)、rsync
ループfor
でバックグラウンド(使用)されない限り、すべての&
ファイルを同期します。順番にしたがって、可能な並列性や利点はありません。