
ユーザー12台のコンピュータ間の双方向同期を望んでいます。ユーザー1はいメンバーグループ2そして、権限のないSSHトンネルがあります。次のような多くのファイルとディレクトリがあります。
rwxrwx--- userN group2 enclair/WEB/CLIENTS/VictorMarty
一部のファイルは両方のシステムで編集されたため、手動でマージする必要がありました。したがって、私は両側で作業するためにrsyncの代わりにUnisonを選択しました。
unison用の基本設定ファイル:
perms = -1
#group = true
#owner = true
times = true
私が使用する双方向同期コマンドは次のとおりです。
$ unison "profile" -perms 0 -dontchmod
出力/結果:
...
UNISON 2.48.3 finished propagating changes at 02:29:24.90 on 13 Sep 2015
Saving synchronizer state
Synchronization incomplete at 02:29:25 (0 items transferred, 1 skipped, 60 failed)
failed: enclair/WEB/CLIENTS/VictorMarty
times
profile.prf ファイルにコメントを付けて動作させることができます。このプロセスでは、mtimeメタデータが失われます。
私は反対側でsudo unisonとsudoができることを見ました--server-cmd
。したがって、unisonは実際にはrootとして実行されますが、接続は依然として一般ユーザーとして維持されます。
ファイルの変更時間を維持するために双方向同期を実装する方法ですか? user1を維持するのが最善ですか?
答え1
同期に必要な期間に応じて、2 つの rsync プロセスを使用できます。rsync -au <source> <dest>
各ホストで実行するクローンジョブを設定します。これにより、特定の時間内に両方のホストが「同期化」されます。ファイルが変更されたら、inotifyを使用してrsyncを実行することもできます。