リアルタイムローカルファイル同期

リアルタイムローカルファイル同期

どのように設定しますか?即時2つのローカルディレクトリ間でファイルを同期しますか?問題は、リアルタイム(15秒、10秒、または5秒も遅すぎる)が必要で、ターゲットルートを作成したくないことです。

たとえば、次のようなもの...

cp -fr sourcea/* /some/destdir
cp -fr sourceb/* /some/destdir
cp -fr sourcec/* /some/destdir

削除をキャッチするのも良いですが、取引の中断者ではありません。

私は「sourcex」をdestdirに生成したくありません。 (したがって*)。私はrsync(明らかにリアルタイムに近いこともない)といくつかの一般的な同期システムを試しました。しかし、ほとんどの人はコンテンツだけでなく、1対1の同期を望んでいます。

どんな提案がありますか?私はしばらくこの問題で苦労しました。

答え1

ファイルシステムオーバーレイはこの問題をよりよく解決します。次のようなものを使用してくださいオブ複数の結合ディレクトリから「仮想」ディレクトリを作成できます。書き込みを元のディレクトリに再度伝播するか、書き込み中にコピー方法を使用して元のディレクトリを保存するか、書き込みを完全に禁止するかを設定できます。

ただし、元の質問に答えるには、次のようなものを使用できます。同期ファイルが変更されたらすぐにrsyncをトリガーします。 lsyncd は、ディレクトリ名を保持せずにディレクトリの内容を同期する rsync を使用します。通常、これを行う方法はsourcea/.に同期することです/some/destdir/。重要な部分はソースパスの終わりです。これは、rsyncに加えてcpなどの他の操作にも使用できる一般的なトリックです。

関連情報