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


13

Я використовую інструмент синхронізації Unison зі своїми комп'ютерами Mac OSX та Ubuntu 9.10, щоб створити резервну копію музики з Mac на Ubuntu. Справа в тому, що я хочу, щоб мій Mac став джерелом, а Ubuntu - ціллю, щоб машина Ubuntu завжди була точною копією папки «Музика» на Mac, але якщо я видалю щось з Ubuntu, він виграє » не видаляються на Mac. Я подивився на документи, але наразі це начебто над головою.

Відповіді:


1

Кращим інструментом для роботи може бути rsync (вам потрібно буде встановити її на обох комп'ютерах). Я використовую його для синхронізації папки з музикою свого ноутбука з домашнім файловим сервером, що дуже схоже на вашу ситуацію. rsync спеціалізується на оновленні дзеркальної копії.

Такий командний рядок може бути корисним (якщо припустити, що ви запускаєте його з Ubuntu):

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

Досить легко переключити вищезазначений рядок, якщо ви хочете запустити його зі свого Mac та натиснути на комп'ютер Ubuntu, а не тягнути.


33

Використання unison -force:

Посібник:

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

Наприклад (у режимі розетки). Запустіть слухача унісон в каталозі, який ви хочете стати дзеркалом чогось іншого. Націліть цей сокет на дзвінок клієнта unison. Сила спричиняє зміни ВСЕ ЄДНЕ ШЛЯХУ з даного кореня.

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

В іншому місці або в тому ж хості:

unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/

2
Синтаксис файлу профілю полягає у визначенні шляху до кореневого каталогу для змінної сили. Тобто,force = /home/me/mysynchdir
Даніель

2

Хоча відповідь TheToasterThatCould буде "працювати", зауважте, що вона не буде правильно створювати резервну копію файлової системи Mac "Resource Forks"

Хоча версія rsync для Mac OSX відома ресурсом-форкою, версій rsync Linux не є (і, швидше за все, ніколи не буде, тому що версія версії rsync від Apple, орієнтована на ОСX, не містить цих ресурсів для rsync з іншого кінця в спосіб, з яким може працювати не-OSX версія rsync). Результатом цього є те, що вилки ресурсів не будуть rsync'd між Mac і Linux машинами.

Деякі програми Mac використовують вилки ресурсів для зберігання даних, що стосуються конкретного файлу. Якщо ви впевнені, що ваші файли, які ви синхронізуєте, не потребують або не використовуєте вилки ресурсів, то для rsync має бути добре.

Якщо ви хочете синхронізувати вилки ресурсів, то кращим підходом стане унісон, оскільки (згідно з документами унісону) він може синхронізувати форки ресурсів.


0

FreeFileSync - це програма з відкритим кодом, яка здатна відображати каталог. Він може запускатися для одно- або двосторонньої синхронізації або в режимі «внесок». Я можу сказати, що це може зробити роботу Microsoft Synctoy. FreeFileSync можна вільно використовувати в Mac OS X, Linux та Windows.


-1

В даний час unison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batchбуде працювати, де -batchне вказується взагалі ніяких питань

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.