[Sysadmins] Двусторонняя синхронизация дерева каталогов

Michael Shigorin =?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Сб Мар 15 15:24:46 MSK 2008


On Sat, Mar 15, 2008 at 07:35:21AM +0300, Dmitry wrote:
> Имеется сервер ALM2.4 в центральном офисе и дерево документов,
> опекаемое самбой. Появился удаленный офис. Там - ALS4 и тоже самба.
> Требуется организовать subj с учетом таких условий:
>   - по защищенному каналу (over ssh?!!!);
>   - передача только изменений файлов (они здоровые, жмутся
>     плохо, а трафика начальству жалко);

Есть подозрение, что я бы сказал, что нужно централизованный
сторадж и не "жалко трафика", а решать с анлимом.

>   - как можно ближе к реальному времени

Поскольку жадное, хотящее и активное начальство лично для меня 
всегда было поводом с ним не работать (как правило, изначально).

>     но ежеминутно напрягать cron для отслеживания изменений
>     очень не хочется

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

>     хочется возложить отслеживание на ядро или самбу.

Они тут ни при чём (там).  Можно попробовать изобразить чего с
inotify, но M24 для этого староват (и какую-то сторону всё равно
придётся обозвать инициатором).

> С rsync-ом, пожалуй, будет сложновато и кривовато, с учетом
> вышеперечисленного. На опеннете обнаружил почти подходящую
> "Unison - file-synchronization tool"(http://www.cis.upenn.edu/~bcpierce/unison/).
> В ALS4 есть пакет unison-beta,но он давно просрочен (версия
> оригинала ускакала далеко вперед).

Вам последнюю версию или ехать? :)

> Под ALM2.4 пакета нет, собирать эту штуку боязно - там
> компилятор Objective Caml, о существовании которого узнал
> только что.

Во времена M24 O'Caml в ALT был вполне прилично окучен AFAIK.
Так что я бы боялся как раз свежайших версий, где могли захотеть 
чего-нить этакого, чего тогда ocaml не умел (если такое бывает
-- не знаю).

> Подскажите пожалуйста, как может быть оптимально решена эта задача.

Или сделать бэкпорт, или поставить эксперимент с M40 (возможно,
отдельным от этого сервера) и unison на нём.  С rsync я бы не
заморачивался -- оно годится только в одну сторону.


On Sat, Mar 15, 2008 at 09:11:46AM +0300, Хихин Руслан wrote:
>  > С rsync-ом, пожалуй, будет сложновато и кривовато, с учетом
>  > вышеперечисленного
> Почему ? Как раз подходит.

Или ты что-то такое знаешь, или поясни, как?  Сперва туда,
потом обратно, а потом ещё как-то изобразить --delete-after
опять же в обе стороны?  И ещё и с учётом желаемой частоты
да ограниченной ёмкости канала?..

Я над таким как-то думал и не придумал, как сделать на rsync.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/



Подробная информация о списке рассылки Sysadmins