10

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

5 ответов5

29

Используйте 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/
2

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

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

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

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

1

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

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

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

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

0

FreeFileSync - это приложение с открытым исходным кодом, способное зеркалировать каталог. Он может работать как для односторонней, так и для двусторонней синхронизации или в режиме "внесения изменений". Я могу сказать, что он может выполнять работу Microsoft Synctoy. FreeFileSync может свободно использоваться в Mac OS X, Linux и Windows.

-1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .