web-dev-qa-db-ja.com

Linux over networkでのファイル同期:scpまたはrsync?

2台のLinux(Debian)マシン「A」と「B」がルーターを介してワイヤレスで相互に接続されています。

マシン「A」で、5秒ごとに特定のフォルダー(例:〜/ files /)に新しい1MBファイルを生成するスクリプトを実行します。ファイルは生成後に変更されません。

ファイルが生成されると、以前に生成された他のファイルと一緒にマシン「B」で使用できるようになります。

それを行うための最も効率的な方法は何ですか(CPU /ネットワークの使用状況と転送時間による)?

提案:

  • スクリプトでscpを実行して、生成後にファイルをコピーすると、すべてのファイルが個別にコピーされます。

  • rsyncを実行して、マシン間でフォルダの内容を同期します。

2

rsyncを使用します。 SCPのオーバーヘッドは大きくなります。

ControlMasterを使用して接続を共有することも考えてください。このファイルのみを5秒ごとに転送する場合、ほとんどの場合、ファイルを転送する代わりに接続の開始に費やします。

2
Jakuje

Rsyncを使用し、

Rsycは、最後のコピー以降に変更されたファイルのみをコピーし、多くの帯域幅とCPUを節約します。

SCPは、変更されたファイルのみをコピーするのは非常にトリッキーであり、デフォルトでは、毎回フォルダー全体をコピーします。

2
warhansen

たとえば、NFSまたは別の共有プロトコルを使用して、これら2台のマシン間で共有フォルダーを作成することもできます。

1
vfsoraki