Як синхронізувати файли / дані між двома ПК у домашній мережі?


11

У мене в домашньому каталозі є робочий стіл і ноутбук з майже однаковими файлами. Іноді я роблю зміни ~/Music, ~/Documentsі т.д. Але ці зміни , звичайно , не впливають на іншу машину.

Тому я хочу мати рішення синхронізувати всі дані в домашніх папках мого ноутбука та робочого столу. Я можу підключати їх поперечним кабелем раз у раз.

Я не хочу використовувати Ubuntu One або Dropbox (файли великі, і немає необхідності користуватися Інтернетом, коли обидва перебувають у домашній мережі).


Dropbox також пропонує мережеву синхронізацію, тому, можливо, це не обов'язково неправильний інструмент.
турбо

Відповіді:


8

Для невеликого набору файлів я б запропонував Dropbox або Ubuntu One , але, схоже, ви хочете синхронізувати свою музичну колекцію між комп'ютерами, і жоден з цих особливо не підходить для цього з двох причин:

  • Вони обидва синхронізуються з Інтернетом, тобто великі колекції файлів потребують тривалого часу для завантаження та завантаження
  • Вони пропонують обмежену кількість місця (з можливістю придбати більше), тобто для великої колекції файлів у вас може виникнути велика кількість грошей.

Унісон , який я використовую для локальної реплікації, не має жодного з цих обмежень (по суті). Ви можете синхронізувати свою локальну мережу, тобто швидкість (за бажанням ви також можете синхронізувати через Інтернет), а також можна синхронізувати скільки завгодно - лише обмежуючись наявним місцем диска та пропускною здатністю. У Unison є і графічний інтерфейс, і термінальний інтерфейс, що означає, що ви можете користуватися ним на робочому столі та сервері однаково. На вікі Ubuntu є хороший посібник, на який ви можете звернутися, якщо ви вирішите використовувати Unison.


1
Це саме те, що я шукаю, але в ньому є проблема imgur.com/Apqbq.png інші люди також мали таку ж проблему з унісоном. Ви знаєте рішення?
Гаурав Бутола

1
Хм, я цього ще не бачив, але я виявив таку помилку Debian, яку ви хочете стежити: bugs.debian.org/cgi-bin/bugreport.cgi?bug=252336 - звучить як проблема з програма переривається. Спробуйте видалити файл, який він згадує, і перейдіть до іншого. Якщо вона наполеглива, то, можливо, вам пощастить з версією командного рядка (саме таку я використовую). Вибачте, я не можу допомогти більше.
Іейн Лейн

Спасибі за вашу допомогу. Це саме те, що я хотів, це дійсно чудовий інструмент, я синхронізую свої дані через SSH, використовуючи унисон.
Гаурав Бутола

7

Найкращим інструментом для цього є інструмент командного рядка "Rsync". Якщо вам потрібен графічний інтерфейс, спробуйте Unison або LuckyBackup, які базуються на концепції Rsync. У сховищах обидва Unison та LuckyBackup.

Прикладом rsync може бути:

rsync -vxtr / home / scaine / Картинки / / home / OtherUser / Картинки /

... який би синхронізував мій каталог зображень із каталогом зображень OtherUser. Опції, які я вказав, перевірять будь-які копії, зберігатимуть часові позначки / дозволи під час копіювання та відслідковуватимуть підкаталоги, де їх знайдено. Зробіть "man rsync" для додаткових варіантів.

Що стосується підключення ваших ПК разом - або поставте їх на комутатор / концентратор або використовуйте кроссовер, а потім діліться каталогами через samba.

РЕДАКТУВАННЯ: Деякі хороші моменти, які слід зробити, якщо метою є "дзеркальне відображення" двох ПК. Ця команда лише "додасть" файли з джерела до місця призначення. Якщо вам потрібно видалити, вам також знадобиться опція -delete.

Під час розслідування виявляється, що Rsync не справляється з дзеркальним відображенням особливо добре. Дивіться це, щоб зрозуміти, що ви, ймовірно, знайдете старіші файли, що перезаписують молодші файли під час цього оновлення! Гірше, що навіть якщо ви отримаєте опцію -update для роботи та запобігаєте такій поведінці, вона не "оновлюватиме" старіший файлом з молодшим - він просто "пропустить" його. Навряд чи ідеально.

Нарешті, щоб виконати двосторонню синхронізацію, вам потрібно буде виконати ту саму команду, але повернути джерело / dest. Звичайно, це зараз обмежене використання, оскільки ваша перша команда (якщо ви використали цю опцію -delete) видалить будь-який файл у пункті призначення, який не існував у джерелі. Unison досить добре обробляє двосторонню синхронізацію із пам'яті.

Якщо ви серйозно намагаєтеся синхронізувати кілька змін, то рішення Dropbox - це найкращий шлях вперед. Якщо ви можете поглянути ще раз на UbuntuOne або Dropbox, символічне посилання може бути вирішенням - скажімо, лише пов’язуйте папку з документами, скажімо, зберігаючи картинки та музику від One / Dropbox та використовуючи це рішення rsync / unison для великих матеріалів?


Я б синхронізував весь / дім обох, чи було б правильно бігти? rsync -vxtr / home / user1 / home / user2 чи зробить це двосторонню синхронізацію? Чи буде збережена остання відредагована копія документа чи просто ігнорується файл, якщо він існує?
Гаурав Бутола

Дивіться мої зміни до оригінального запитання.
Scaine

1

Кілька альтернатив на основі gui, якщо ви не хочете або не хочете використовувати термінал

grsync, як назва передбачає основний gui rsync.

Унісон Юнісон використовує більше альтернативних місць, ніж grsyncінші, ніж те, що вони роблять те саме

Ви можете встановити їх у Центрі програмного забезпечення або за допомогою apt-get


0

Проста відповідь:

rsync -vzu user@ip.address:/remote/dir/*  /local/dir

Параметр -u порівнює дати та передає лише, якщо цільова дата старша за вихідну дату.

-v означає багатослівний, -z означає використовувати стиснення.

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