Синхронизация каталогов в обоих направлениях с rsync

25

Мне довелось узнать о rsyn, и я использую rsync для синхронизации между моим mac и сервером linux следующим образом.

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

Я ожидал запустить первую команду для синхронизации, но мне понадобилась и вторая команда, когда в LINUX были внесены изменения.

Я что-то пропустил? Есть ли у rsync возможность синхронизации между двумя каталогами?

prosseek
источник

Ответы:

20

Вы хотите двунаправленную синхронизацию. Взгляните на унисон, которая делает это: 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
jmtd
источник
12

rsync фактически не рекомендуется для двусторонней синхронизации (его разработчиками). Уже рекомендованная утилита unison станет для вас лучшим решением.

Также имейте в виду, что при использовании rsync вам, вероятно, придется иметь дело с большим количеством специфичных для Mac HFS +. Поэтому обязательно используйте исправленный rsync3 на Mac или ожидайте проблем с датами изменения (при использовании Mac OS X предоставил rsync 2.6.9.) Если вы не знаете, как создать правильно исправленный rsync 3 для Mac, получить mlbackup, который включает в себя только это. (Полное раскрытие: я являюсь автором mlbackup.) Получите его с github и обязательно загрузите полный пакет из загрузок. (Репозиторий mlbackup не включает rsync 3, который вам нужен в этом случае.) Http://github.com/MacLemon/mlbackup

MacLemon
источник
5
Ссылка на рекомендацию от разработчиков rsync была бы неплохой.
Wildcard
@Wildcard не от разработчиков, но это актуально.
Плони
4

Вы также должны взглянуть на csync , который является открытым исходным кодом и предлагает нативную двунаправленную синхронизацию.

К вашему сведению - Csync разработан людьми из команды Samba. И зная, что команда Samba также разработала rsync, я воспринимаю это как знак качества.

maximd
источник
2

Еще один отличный инструмент для двунаправленной синхронизации ..... freefilesync

rsjethani
источник
4
на Stack Exchange мы предпочитаем ответы, а не просто ссылки. было бы здорово, если бы вы могли немного unison
рассказать
1

Я написал этот небольшой инструмент для своих нужд:

https://github.com/dooblem/bsync

Он использует rsync и может обрабатывать перемещения файлов.

Марк Морис
источник