У меня есть папка a/и удаленная папка A /. я теперь запустить что-то вроде этого на Makefile:Двухсторонняя синхронизация с rsync
get-music:
rsync -avzru server:/media/10001/music/ /media/Incoming/music/
put-music:
rsync -avzru /media/Incoming/music/ server:/media/10001/music/
sync-music: get-music put-music
, когда я делаю синхронизации музыки, то первый получает все переформатирование: от сервера локальной и затем в обратном, посылая все переформатирование: от локального к серверу.
Это работает очень хорошо, только если в будущем есть только обновления или новые файлы. Если есть удаления, это ничего не делает.
В rsync есть опции --delete и --delete-after, чтобы помочь выполнить то, что я хочу, но это так, это не работает на двухсторонней синхронизации.
Если я хочу удалить файлы сервера на syn, когда локальные файлы были удалены, он работает, но если по какой-либо причине (объясняется после), у меня есть некоторые файлы, которые не находятся на сервере, но существуют локально и они были удалены, я хочу локально удалить их, а не копировать сервер (как это бывает).
Вещь, у меня есть 3 машины в контексте:
- настольные
- ноутбук
- домашний сервер
Так, иногда, сервер будет иметь файлы, которые были удалены с блокнотом sync, например, и затем, когда я запускаю синхронизацию с моим рабочим столом (там, где все файлы удаленного сервера все еще существуют), я хочу, чтобы эти файлы были удалены и не были скопированы снова на сервер.
Я думаю, что это возможно только с базой данных и трек операций: P
Есть более простые решения? Спасибо.
У меня есть эта проблема. Вы нашли решение, mwm? – mouche
К сожалению, нет. – mwm
Я действительно сделал сейчас. я пытался добиться такого эффекта, как Dropbox, и придумал решение, которое включает унисон (который использует rsync) и lsyncd для мониторинга изменений файлов. я также нашел других людей с этим решением и больше трюков сверху »http://www.cerebralmastication.com/2011/04/fast-two-way-sync-in-ubuntu/ – mwm