Описание тега unison
обзор
Unison - это инструмент синхронизации файлов для OSX, Unix и Windows. Он позволяет хранить две копии набора файлов и каталогов на разных хостах (или разных дисках на одном хосте), изменять их отдельно, а затем обновлять, распространяя изменения в каждой реплике на другую.
Unison имеет ряд общих функций с такими инструментами, как пакеты управления конфигурацией ( CVS, PRCS, Subversion, BitKeeper и т. Д.), Распределенные файловые системы ( Coda и т. Д.), Утилиты однонаправленного зеркалирования ( rsync и т. Д.) И другие синхронизаторы. ( Intellisync, согласовать и т. Д.). Однако есть несколько моментов, в которых он отличается:
Unison работает как на Windows, так и на многих разновидностях Unix (Solaris, Linux, OS X и т. Д.) Систем. Кроме того, Unison работает на разных платформах, что позволяет вам синхронизировать ноутбук с Windows, например, с сервером Unix.
В отличие от простых утилит зеркалирования или резервного копирования, Unison может работать с обновлениями обеих реплик распределенной структуры каталогов. Обновления, которые не конфликтуют, распространяются автоматически. Конфликтующие обновления обнаруживаются и отображаются.
В отличие от распределенной файловой системы, Unison - это программа уровня пользователя: нет необходимости модифицировать ядро или иметь привилегии суперпользователя на любом хосте.
Unison работает между любой парой компьютеров, подключенных к Интернету, общаясь по прямой линии сокета или туннелируя по зашифрованному соединению ssh. Он осторожен с пропускной способностью сети и хорошо работает на медленных каналах, таких как соединения PPP. Передача небольших обновлений в большие файлы оптимизируется с использованием протокола сжатия, аналогичного rsync.
Унисон устойчив к неудачам. Осторожно всегда оставлять реплики и собственные частные структуры в разумном состоянии, даже в случае ненормального завершения или сбоев связи.
Унисон имеет четкую и точную спецификацию.
Унисон свободен; полный исходный код доступен по открытой лицензии GNU.
использование
При первом запуске Unison полная синхронизация указанных каталогов займет некоторое время. Это создаст архивные файлы в .unison
каталог ($HOME/.unison
в Unix, $USERPROFILE\.unison
в Windows), чтобы сохранить структуру каталогов синхронизации и сделать будущие синхронизации намного быстрее.
Унисон может быть запущен очень простым способом, вызывая его как unison [options] root1 root2
где root1
а также root2
каталоги для синхронизации. Чтобы упростить запуск Unison с большим количеством опций и проще вызывать Unison из скрипта или как задание cron, удобно создать профиль, чтобы указать корни синхронизации и другие опции. Если у нас есть профиль profile.prf
(хранится в .unison
каталог), мы можем использовать этот профиль, запустив unison profile
, Простой профиль будет выглядеть примерно так:
# profile.prf
root = /home/user
root = ssh://user@198.51.100.42//home/user
path = Documents
path = Files
Это синхронизирует локальные каталоги /home/user/Documents
а также /home/user/Files
с соответствующими удаленными каталогами на 198.51.100.42
по сш.
Более интересный профиль Unison, который можно использовать для автоматизации резервного копирования на удаленный сервер, может выглядеть примерно так:
# profile.prf
root = /home/user
root = ssh://user@198.51.100.42//home/user
sshargs = -C -i /path/to/ssh_key
path = Documents
ignore = Path Documents/secrets
ignore = Name *.tmp
ignore = Name {.*,*}.sw[ponx]
auto = true
batch = true
confirmbigdeletes = false
backuplocation = central
backupdir = /home/user/Unison-Backups
maxbackups = 7
backup = Name {.*,*}
backupprefix = .$VERSION
Этот профиль будет синхронизировать все /home/user/Documents
на удаленный сервер, за исключением /home/user/Documents/secrets
подкаталог, все файлы с .tmp
расширение и любые файлы подкачки, которые vim любит создавать. Он также автоматически синхронизирует файлы без запроса подтверждения (auto = true
) и будет хранить резервные копии файлов, которые будут перезаписаны при синхронизации в /home/user/Unison-Backups
,
Полезные ссылки
Домашняя страница Унисон
Руководство пользователя и справочное руководство
Хороший гид по унисону от Филиппа Го