web-dev-qa-db-ja.com

rsyncで双方向にディレクトリを同期する

私はたまたまrsynについて知っており、次のようにrsyncを使用してMacとLinuxサーバー間の同期をとっています。

rsync -r -t -v MAC LINUX
rsync -r -t -v LINUX MAC

最初のコマンドを実行して同期することを期待していましたが、LINUXで変更が行われたときにも2番目のコマンドが必要でした。

何か不足していますか? rsyncには2つのディレクトリ間で同期するオプションがありますか?

25
prosseek

双方向同期が必要です。これを行うunisonを見てみましょう: http://www.cis.upenn.edu/~bcpierce/unison/

たとえば、Debian/Ubuntuの場合:

$ Sudo apt-get install unison
$ unison MAC/ LINUX/

権限に問題がある場合(例ext4-> FAT):

$ unison -perms 0 vlc-2.2.0/ /media/sf_vlc/vlc
Contacting server...
Looking for changes
Reconciling changes

vlc-2.2.0      vlc                
new dir  ---->            /  [f] 

Proceed with propagating updates? [] y
Propagating updates
22
jmtd

rsyncは実際には推奨されていません双方向の同期(開発者による)。すでに推奨されているユニゾンユーティリティは、より良いソリューションです。

また、rsyncを使用する場合は、Mac固有のHFS +に関する多くの問題に対処する必要があることにも注意してください。したがって、Macで適切にパッチされたrsync3を使用するか、変更日に関する問題が発生することを確認してください(Mac OS Xが提供するrsync 2.6.9を使用する場合)。Mac用に適切にパッチされたrsync 3を構築する方法がわからない場合は、それだけを含むmlbackupを取得します。 (完全な開示:私はmlbackupの作成者です。)githubから入手し、ダウンロードから完全なパッケージをダウンロードしてください。 (mlbackupリポジトリには、この場合に必要なrsync 3は含まれていません。) http://github.com/MacLemon/mlbackup

13
MacLemon

csync もご覧ください。オープンソースであり、ネイティブの双方向同期を提供します。

参考までに-私の知る限り-csyncはSambaチームの人々によって開発されました。そして、Sambaチームもrsyncを開発したことを知っているので、これを品質の証と考えています。

4
maximd

双方向同期のためのもう1つの優れたツール..... freefilesync

2
rsjethani

私は自分のニーズに合わせてこの小さなツールをコーディングしました:

https://github.com/dooblem/bsync

Rsyncを使用し、ファイルの移動を処理できます。

1
Marc MAURICE