The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Использование unison для двусторонн..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Использование unison для двусторонн..."  +/
Сообщение от auto_tips (??) on 16-Сен-10, 08:18 
Для решения задачи по синхронизации данных между двумя машинами, в ситуации когда изменения могут появиться на каждом из компьютеров, прекрасно подходит утилита unison (http://www.cis.upenn.edu/~bcpierce/unison/). При синхронизации между удаленными машинами в качестве транспорта может использоваться ssh. При обнаружении конфликтов, например, когда на обоих машинах отредактирован один и тот же файл, unison пытается разрешить конфликт автоматически, а если это не удается предоставляет пользователю интерфейс для принятия решения.

Устанавливаем unison.

Fedora/RHEL/CentOS:

   sudo yum install unison

Debian/Ubuntu:
   sudo apt-get install unison

FreeBSD:
   # cd /usr/ports/net/unison/ && make install

Синхронизируем две локальные директории:

   unison /test1 /test2

В процессе будет выводиться статистика и задаваться вопросы, касающаяся синхронизации и разрешения конфликтов, направление копирования будет указано стрелкой.

Для синхронизации с удаленной директорией необходимо указать:

   unison /test1 ssh://testserver.test.ru//test1

Чтобы выполнить синхронизацию автоматически, без интерактивного взаимодействия с пользователем необходимо использовать опцию "-batch". В случае конфликта, выполнение будет прервано с выводом соответствующего уведомления.

Для определения сложной политики синхронизации можно создать файл конфигурации с определением параметров.

Например, создаем файл ~/.unison/test.prf:

   # Определяем список директорий, которые будут синхронизированы
   root = /home/project
   root = /mnt/NFS/home/project

   # Указываем сохранять права доступа и владельца
   owner = true
   times = true

   # Определяем список поддиректорий, которые нужно синхронизировать, остальное игнорируем:
   path = cgi-bin
   path = htdocs
   path = conf

   # Определяем маски для файлов, которые не нужно синхронизировать
   ignore = Name .htaccess
   ignore = Name *~
   ignore = Name .*~
   ignore = Path conf/project.conf
   ignore = Path htdocs/rrd
   ignore = Path htdocs/mon
   ignore = Name *.o
   ignore = Name *.tmp
   ignore = Name *.log
   ignore = Name *.gz
   ignore = Name *.iso
   ignore = Name {,.}*{.old}

   # Копируем в резервные копии изменяемых файлов в отдельную  директорию
   backup = Name *
   backups = true
   backupdir = /home/project/backup

   # Определяем свою команду для отображения отличий между копиями файлов при конфликте
   #diff = diff -y -W 79 --suppress-common-lines

   # Сохраняем лог с результатами работы в отдельном файле
   log = true
   logfile = ./sync.log


При необходимости синхронизировать описанные в файле конфигурации директории, выполняем:

   unison test


URL:
Обсуждается: http://www.opennet.ru/tips/info/2422.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от Денис email(??) on 16-Сен-10, 08:18 
Было бы интереснее если была раскрыта тема двустронней синхронизации между Windows и Unix серверами.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от Аноним (??) on 16-Сен-10, 10:52 
>Было бы интереснее если была раскрыта тема двустронней синхронизации между Windows и
>Unix серверами.

Вы не поверите, но unison прекрасно работает и под Windows, без разницы где его запускать и инструкции те же самые.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от Александр (??) on 16-Сен-10, 12:05 
Синхронизации чего? Что можно между операционками синхронизировать? Настройки, шрифты? :)

Наверняка вопрос про синк между программами под разными ОС - тогда проблему и название программы бы знать...  

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от Имя on 16-Сен-10, 17:16 
Ок, хочу синхронизировать CF-карту с FAT32 и директорию ~/boooks
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от bdlog on 20-Сен-10, 17:55 
Выставите флаг не сохранять аттрибуты и синхронизируйте.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от Р on 16-Сен-10, 13:19 
ftp есть? а если только в одну сторону делать зеркало? под винду тоже консоль? демоны с обоих сторон надро запускать? или достаточно с одной?:)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от www (??) on 16-Сен-10, 16:28 
Я так понимаю что когда надо синхронизовать - тогда надо запускать эту утилитку. А как синхронизировать два каталога (с подкаталогами), чтоб после копирования и/или редактирования файла в каталог (или подкаталог) автоматически запускалась синхронизация? Думаю такой эфект можна получить используя watch -n 0,1 unison /test1 ssh://testserver.test.ru//test1, но это както муторно
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от hryak on 16-Сен-10, 17:04 
http://ru.wikipedia.org/wiki/Inotify + демон,слушающий его и запускающий то, что тебе нужно
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от devcoder (ok) on 16-Сен-10, 17:34 
% apt-cache search incron
incron - cron-like daemon which handles filesystem events
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Использование unison для двусторонней синхронизации файлов"  +/
Сообщение от segoon email(ok) on 19-Сен-10, 22:25 
Интересно, посмотрим...  А я делаю так - в ~/sync лежат все настройки, дотфайлы и директории для синхронизации.  Вместо конфигов симлинки в ~/sync.  Сам ~/sync под гитом.  Если на обоих машинах произошли изменения, то гит поможет смержить обе версии.  Ну и скрипты ~/sync/scripts/ для слияния в одну команду (сам ищет на что надо натравить git rm и пр.).
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру