ソースを更新するときにrsyncを使用しても安全ですか?

ソースを更新するときにrsyncを使用しても安全ですか?

rsyncrsyncの実行中にソースファイルシステムが変更される可能性があると仮定すると、マウントおよび書き込み可能なソースファイルシステムを使用するのは安全ですか?競合状況で最新の修正が得られない可能性がありますが、破損の危険がありますか?

答え1

rsync読み取り/書き込みマウントファイルシステムでの使用は非常に安全です。起動したら、rsyncファイルのリストを作成してからファイルのコピーを開始します。このファイルのリストは実行中に更新されません。その後、実際のデータをコピーします。

つまり、ファイルが変更された場合後ろに rsyncコピーするファイルのリストが作成されました。新しいコンテンツ。ただし、新しいファイルが作成された場合次へ追加rsyncファイルリストが作成された後、新しいファイルはコピーされません。ファイル削除済みrsyncファイルリストを作成した後、rsyncはファイルをコピーできないという警告を表示します。これはスナップショットではないため、データがrsyncどの時点にコピーされたかを知るのが難しいことに注意してください。rsync

一方、ファイルシステムまたはボリュームマネージャのスナップショット(ZFSやLVMなど)はすぐに作成され、明確に定義された特定の時点のファイルシステムの一貫したスナップショットであるため、他のホストにコピーできます。rsyncこれらの一貫性は提供されません。

編集する:他の人がコメントで指摘したように、rsync実際にファイルが破損する可能性があります。 rsyncがファイルの読み取りを開始し、アプリケーションが同時にファイルに書き込むと、ファイルが破損する可能性があります。

関連情報