unison -force
を使用 :
マニュアル:
<ブロック引用>
プリファレンス-force root
を含む Unison は root を優先してすべての違い (競合しない変更であっても) を解決します。これにより、Unison が非同期からミラーリング ユーティリティに効果的に変更されます。-force newer
を指定することもできます。 (または-force older
) Unison に、より遅い (より早い) modtime を持つファイルを強制的に選択させる。この場合、-times
プリファレンスも有効にする必要があります。この設定は forcepartial
によって上書きされます 好み。この設定は、自分が何をしているのかを理解している場合にのみ使用してください!
例えば。 (ソケットモードを使用)。他の何かのミラーにしたいディレクトリで unison リスナーを起動します。 unison クライアント呼び出しでそのソケットをターゲットにします。強制により、変更はすべて指定されたルートから一方向になります。
cd /target/mirror/directory
unison -socket 123456 &
他の場所または同じホスト上:
unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/
TheToasterThatCould による回答は「機能」しますが、Mac ファイル システム「リソース フォーク」を正しくバックアップしないことに注意してください
Mac OSX バージョンの rsync はリソース フォークに対応していますが、Linux バージョンの rsync はそうではありません (おそらく今後もそうではないでしょう。なぜなら、Apple バージョンの rsync は OSX 固有であり、これらのリソース フォークを相手側の rsync に提示しないからです)。 OSX 以外のバージョンの rsync が処理できる方法)。この結果、リソース フォークは Mac と Linux マシン間で再同期されません。
特定の Mac アプリは、リソース フォークを利用して、特定のファイルに関連するデータを保存します。同期しているファイルがリソース フォークを必要としない、または使用しないことが確実な場合は、rsync を使用しても問題ありません。
リソース フォークを同期する場合は、(unison ドキュメントによると) リソース フォークを同期できる unison の方が適しています。