私は2台の異なるコンピュータで作業しており、コンピュータ間のディレクトリ同期を維持したいと思います。たとえば、よく使用される多くのスクリプトを含む ~/scripts フォルダがあります。あるコンピュータで新しいスクリプトを作成したりスクリプトを変更したりする場合は、変更内容が別のコンピュータに同期していることを確認したいと思います。
質問は明確でなければなりません。ファイルを追加または削除するとどうなりますか?
rsyncはファイルが追加されたか削除されたかを知らないため、誤動作を引き起こす可能性があり、大量の操作を含む貴重なファイルが削除される可能性があります。
たとえば、両方のマシンにファイル1と2があり、マシンAIにファイル3を追加しましたが、何らかの理由でrsyncを実行しないとします。その日遅く、私はマシンBで作業し、rsyncを実行しました。ファイル 3 がマシン B にないため、rsync を実行すると B に 3 があったと仮定しますが、削除したため、マシン A のファイル 3 が削除され、潜在的に多くの操作が壊れる可能性があります。
仕事をするのは忙しくて時々忘れてしまうので、ファイルを追加するたびに同期しようとするのは現実的ではありません。
代替案は、再同期中にファイルを削除しないことですが、これにより不要なファイルが急増します。この場合の唯一の解決策は、特別な削除コマンドを使用して両方のコンピュータのファイルを同時に削除することです。しかし、ここでの問題は、私のディレクトリにコンパイラのように自動的に生成されたファイルが含まれており、makefileが開発ディレクトリからファイルを自動的に生成して削除することです。これらのディレクトリを削除せずに再同期すると、ファイルのフラッディングが発生します。
この問題をどのように解決できますか?