LINUX.ORG.RU

Синхронизация файлов при помощи Unison


0

0

Поддержка и обеспечение синхронности различных директорий на нескольких машинах может быть очень трудоемким занятием. Использование Unison - один из путей для облегчения данной задачи.

Статья описывает как установить, настроить и использовать Unison - утилиты для синхронизации файлов, которая работает на Linux, UNIX и Windows.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

А как у него с кириллицей в названиях файлов? Год назад смотрел - были проблемы.

EM
()

You need to use the latest betas if you're going to synchronize files larger than 2GB. :))))))

Lumi ★★★★★
()
Ответ на: комментарий от swar0g

А причем тут versioning system и синхронизация файлов?

dotcoder ★★★★★
() автор топика
Ответ на: комментарий от swar0g

Причем здесь cvs, svn и rsync?
Это инструмент для синхронизации изменений в двух ФС.

rsync - не подходит, так как не отслеживает двунаправленные изменения.
cvs - не может нормально отслеживать переименование/удаление файлов.
svn - требует вмешательства пользователя при наличии конфликтной ситуации. Следовательно, тоже не годится для полностью автоматической синхронизации.

Вообще задача стоит здесь так. Два удаленных офиса, и в каждом должна быть живая копия дерева файлов. И все это регулярно дунаправлено обновляется. Без участия пользователей.





z2v
()
Ответ на: комментарий от z2v

>rsync - не подходит, так как не отслеживает двунаправленные изменения.

Не понял. Что значит двунаправленные изменения?

>svn - требует вмешательства пользователя при наличии конфликтной ситуации. Следовательно, тоже не годится для полностью автоматической синхронизации.

Т.е. unison вообще не разбирается с конфликтами, а просто мержит все подряд? Ну и ?...

EM
()
Ответ на: комментарий от z2v

>Во вот это и есть конфликт. В этом случае эта хрень выкладывает версию файла.

rsync такое тоже может. Делаем rsync туда-обратно с опцией --update --backup --backup-dir=... в том числе. Получаем в каталогах самые свежие версии файлов и в каталогах инкриментного backup-а файлы которые были заменены. Вроде так. Или я что-то упустил?

EM
()
Ответ на: комментарий от EM

Еще раз. Я говорю о конкретной задаче, где эта штуклвина
применима. Одно из применений - домашний комп и комп на работе.

Второе, и, я думаю, многие здесь согласятся, это организация распределенной ФС, обновляющейся в пакетном режиме с какой-либо периодичностью.
Итак.
Берем два офиса. Или - больше.
Между ними - километры.
Там сидят отнюдь не Линусы - хакеры.
И им совершенно не объяснишь, что нужно искать модифицированную версию документа где-то в специальной папке.
ПРо удаление файла я и вообще молчу.
Итого. Нужна система, которая требует минимума внимания при автообмене.

P.S. Я говорю исключительно из своего опыта. Кто решил такую задачу -
идею в студию, если не против.
С Subversion проблем оказалось меньше всего, нужто просто заставлять пользователей после изменения документов выполнять определенные действия. А это - человеческий фактор.

z2v
()
Ответ на: комментарий от z2v

>В этом случае эта хрень выкладывает версию файла.

А как она себя ведет, если юзеры изменяют файлы с версией?
Создает новые версии?
как потом разбираться с этими версиями?

TOHbl4
()
Ответ на: комментарий от z2v

>Второе, и, я думаю, многие здесь согласятся, это организация распределенной ФС, обновляющейся в пакетном режиме с какой-либо периодичностью.

У rsync с этим вроде нет проблем.

>И им совершенно не объяснишь, что нужно искать модифицированную версию документа где-то в специальной папке.

Ммм... Вы же им как-то объясили, что вот этот файл с циферкой на конце - старая версия файла? :) С каталогами точно также. Ладно, дело не в этом. Как в unison c кириллицей в именах файлов? Год назад смотрел - были проблемы.

>С Subversion проблем оказалось меньше всего, нужто просто заставлять ользователей после изменения документов выполнять определенные действия. А это - человеческий фактор.

Ничего не понял. Вы про unison или про Subversion? Ваши "не Линусы - хакеры" освоили Subversion?

EM
()
Ответ на: комментарий от EM

Да нет. Я же сказал - меньше всего проблем.
А не совсем нет проблем.

Я долго пытался прикрутить subversion для офисного использования.
Для программистов это оказалось доступно.
Для стандартных пользователей - нет. Или почти нет.

Кстати, для Subversion есть замечательная приблуда для windows - explorera. Все интуитивно - понятно. Просто появляется еще один пунктик.
Удобно и объяснять не сложно. TortoiseSVN называется.
Для особо одаренных пользователей - даже на русском.



z2v
()
Ответ на: комментарий от z2v

>Я долго пытался прикрутить subversion для офисного использования. Для программистов это оказалось доступно. Для стандартных пользователей - нет. Или почти нет.

Мне не совсем понятно какую задачу вы хотите решить. Если добиться полной идентичности _двух_ каких-либо каталогов, то с помощью rsync это можно решить IMHO достаточно просто. Сделать rsync туда-обратно с ключом update. Получим два одинаковых каталога с самыми _новыми_ версиями файлов и два каталога с копиями замененных файлов (если использовали ключи backup-а). Имена каталогов с копиями можно составлять из имени обрабатываемого каталога и полной даты начала обработки, например. Тогда на каждую операцию синхронизации каталогов будет создаваться уникальные каталоги с копиями.

EM
()
Ответ на: комментарий от MiracleMan

> интересная фишка, но малополезная.. ;-)

Сказал, блин, как отрезал.

Я пользуюсь уже довольно давно, для синхронизации счетов на домашнем компе и в универе. Вещь незаменимая.

faustus
()
Ответ на: комментарий от anonymous

А всякие coda,intermezo не подходят?:))

anonymous
()
Ответ на: комментарий от TOHbl4

Listing 1. .unison/default.prf

# Unison preferences file
merge = diff3 -m CURRENT1 OLD CURRENT2 > NEW
backup = Name *
maxbackups = 10
log = true
logfile = /home/knan/.unison/unison.log
rshargs = -C

Unison then asks the user about any differences between the directories and offers reasonable defaults. It does take a bit of time to get used to Unison's way of thinking, however. And, Unison is no substitute for backups. Unison happily propagates back the deletion of all the files in one replica, for example, which can be a rude awakening for programmers used to CVS.

dotcoder ★★★★★
() автор топика

А есть ли что-нибудь для следующего применения?

Есть два компутера - на работе и дома (где инета нет). Хочется синхронизировать несколько директорий по такому принципу:
Заканчиваю на работе - даю магическую команду 1, которая изменения в директории сохранит на флэшку.
Прихожу домой - мкоманда2 накатывает изменения на домашнюю копию.
Ухожу из дома - мкоманда1 записывает измениния
Прихожу на работу - мкоманда2 накатывает изменения.

Да, знаю, можно сделать, скажем, мастер-копию на флэшке, но не хочется - директории большие, а изменений реально бывает не очень много...

eliterr
()

Купил комп. с Линух. Загрузка доходит до root@localhost# и все. Что ему надо? До этого с Лин. дела не имел. Кто поможет?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.