Односторонняя синхронизация / резервное копирование с Unison

14144
roflwaffle

Я использую инструмент синхронизации Unison с компьютерами Mac OSX и Ubuntu 9.10 для резервного копирования музыки с Mac на Ubuntu. Дело в том, что я хочу, чтобы мой Mac был источником, а Ubuntu - целью, чтобы машина Ubuntu всегда была точной копией папки Music на Mac, но если я что-то удаляю из Ubuntu, она выиграет ». удалить на Mac. Я посмотрел на документы, но в данный момент это похоже на мою голову.

9

5 ответов на вопрос

28
Rich K.

Используйте unison -force:

Руководство:

Включение предпочтения -force rootзаставляет Unison разрешать все различия (даже не конфликтующие изменения) в пользу root. Это эффективно превращает Unison из синхронизатора в утилиту зеркалирования. Вы также можете указать -force newer(или -force older), чтобы заставить Unison выбрать файл с более поздним (более ранним) режимом работы. В этом случае -timesпредпочтение также должно быть включено. Это предпочтение отменяется forcepartialпредпочтением. Это предпочтение следует использовать, только если вы уверены, что знаете, что делаете!

Например (в режиме сокета). Запустите unison listener в каталоге, который вы хотите быть зеркалом чего-то другого. Целевой этот сокет в вызове клиента унисон. Сила заставляет изменения быть ОДНЫМ ПУТЕМ от данного корня.

cd /target/mirror/directory unison -socket 123456 & 

В другом месте или на том же хосте:

unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/ 
Синтаксис для файла профиля - указать путь к корневому каталогу для переменной force. То есть `force = / home / me / mysynchdir` Daniel 6 лет назад 1
2
allnatural

Хотя ответ TheToasterThatCould будет «работать», имейте в виду, что он не будет правильно выполнять резервное копирование файловой системы Mac «Resource Forks»

В то время как версия rsync для Mac OSX ориентирована на использование ресурсов, версии rsync для linux не поддерживаются (и, вероятно, никогда не будут, потому что версия rsync для Apple ориентирована на OSX и не представляет эти ветки ресурсов для rsync на другом конце в способ, которым может управлять не-OSX версия rsync). Результатом этого является то, что ресурсные вилки не будут rsync'd между компьютерами Mac и Linux.

Некоторые приложения Mac используют вилки ресурсов для хранения данных, связанных с конкретным файлом. Если вы уверены, что ваши файлы, которые вы синхронизируете, не нуждаются или не используют вилки ресурсов, тогда все должно быть в порядке, чтобы использовать rsync.

Если вы хотите синхронизировать вилки ресурсов, тогда лучше использовать unison, потому что (согласно документам unison) он может синхронизировать вилки ресурсов.

1
TheToasterThatCould

Лучшим инструментом для работы может быть rsync (вам нужно установить его на обоих компьютерах). Я использую его для синхронизации музыкальной папки моего ноутбука с домашним файловым сервером, что очень похоже на вашу ситуацию. rsync специализируется на обновлении зеркальной копии.

Такая командная строка может быть полезна (если вы запускаете ее из Ubuntu):

rsync -a --delete-before myMacMachineName:/MyMusic/ /mymusic/ 

Довольно просто переключить вышеуказанную строку, если вы хотите запустить ее со своего Mac и нажать на компьютер с Ubuntu вместо того, чтобы тянуть.

0
dx486

FreeFileSync is an open source application which is capable of mirroring a directory. It can run for one way or two way synchronization or in "contribute" mode. I can say that it can do the job of Microsoft's Synctoy. FreeFileSync can be freely used in Mac OS X, Linux and Windows.

-1
정진홍

В настоящее время unison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batchбудет работать там, где -batchвообще нет вопросов

Похожие вопросы