rsyncの複数のインスタンスを同時に実行しても安全ですか?

rsyncの複数のインスタンスを同時に実行しても安全ですか?

同じコマンド ラインで複数の rsync インスタンスを使用して、ローカル サーバー上の同じディレクトリをリモート サーバー上の同じディレクトリにバックアップしても安全かどうか疑問に思っています。基本的に、以下のコマンドを 3 ~ 4 回並行して実行すると、速度が向上しますか? 受信サーバーは rsyncd を使用しています。

rsync -av /home/directory/ [email protected]::Home

答え1

いいえ。ディレクトリを除外したり、明示的に含めたりして複数のコマンドに分割することはできますが、同じコマンドを複数回実行すると混乱が生じます (特に rsync 一時ファイルの場合)。

答え2

バージョン 3.0.5 以降 (以前のバージョンでも可能) では、--include、--exclude パラメータを使用できます。

例として、ここ次のようなことができます:

directory_a下に 2,000,000 個のファイルがあると仮定します。directory_bまた、2,000,000 個のファイルがある場合、2 つの個別の rsync プロセスを実行すると、CPU サイクルを犠牲にしてプロセス全体が高速化されます。

rsync -av --include="/directory_a*" --exclude="/*" --progress remote::/ /localdir/ >  /tmp/myoutputa.log &
rsync -av --include="/directory_b*" --exclude="/*" --progress remote::/ /localdir/ >  /tmp/myoutputb.log &

によるソースこのアプローチにより同期が約50%高速化されます

答え3

「rsync」は、特定のファイルまたはディレクトリの選択的かつ必要な部分を転送することで変換を高速化することですでに知られています。上記のコマンドを 3 ~ 4 回並行して使用するかどうかは、Web ホスティング アカウントに割り当てられたリソースの量に完全に依存しますが、サーバーに発生する負荷が大きくなることは確かなので、使用しないことをお勧めします。

Rsyncの機能

関連情報