Унисон является двунаправленным, конфликт, обнаруживающий инструмент синхронизации файлов для OSX, Unix и Windows. Это позволяет двум копиям набора файлов и каталогов быть сохраненными на различных хостах (или различных дисках на том же хосте), измененными отдельно и затем осовремененными путем распространения изменений в каждой копии к другому.

Обзор

Унисон является инструментом синхронизации файлов для OSX, Unix и Windows. Это позволяет двум копиям набора файлов и каталогов быть сохраненными на различных хостах (или различных дисках на том же хосте), измененными отдельно и затем осовремененными путем распространения изменений в каждой копии к другому.

Унисон совместно использует много функций с инструментами, такими как пакеты управления конфигурацией (CVS, PRCS, Подверсия, BitKeeper, и т.д.), распределенные файловые системы (Кода, и т.д.), однонаправленные утилиты зеркального отражения (rsync, и т.д.), и другие синхронизаторы (Intellisync, Согласуйте, и т.д.). Однако существует несколько точек, где это отличается:

  • Унисон работает и на Windows и на многих разновидностях Unix (Солярис, Linux, OS X, и т.д.) системы. Кроме того, Унисон работает через платформы, позволяя Вам синхронизировать ноутбук Windows с сервером Unix, например.

  • В отличие от простого зеркального отражения или утилит резервного копирования, Унисон может иметь дело с обновлениями обеих копий структуры распределенного справочника. Обновления, которые не конфликтуют, распространены автоматически. Конфликтующие обновления обнаружены и отображены.

  • В отличие от распределенной файловой системы, Унисон является программой уровня пользователя: нет никакой потребности изменить ядро или иметь полномочия суперпользователя на любом хосте.

  • Унисон работает между любой парой машин, подключенных к Интернету, связывающемуся или по прямой ссылке сокета или по туннелирующему по зашифрованному соединению SSH. Это осторожно с сетевой пропускной способностью и работает хорошо по медленным каналам, таким как соединения PPP. Передачи маленьких обновлений больших файлов оптимизированы с помощью протокола сжатия, подобного rsync.

  • Унисон эластичен к отказу. Это старается оставить копии и его собственные частные структуры в разумном состоянии в любом случае, даже в случае аварийного завершения или сбоев связи.

  • Унисон имеет ясную и точную спецификацию.

  • Унисон свободен; полный исходный код доступен в соответствии с Лицензией Общественности GNU.

Использование

В первый раз, когда Унисон выполняется, он займет время, чтобы полностью синхронизировать указанные каталоги. Это создаст архивные файлы в .unison каталог ($HOME/.unison в Unix, $USERPROFILE\.unison в Windows), чтобы сохранить структуру синхронизирующих каталогов и сделать будущие синхронизации намного более быстрыми.

Унисон может быть выполнен очень простым способом путем вызывания его как unison [options] root1 root2 где root1 и root2 каталоги должны синхронизироваться. Чтобы более легко выполнить Унисон со многими опциями и более легко вызвать Унисон из сценария или как задание крона, удобно создать профиль для определения корней синхронизации и других опций. Если у нас есть профиль 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 по ssh.

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

# 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 подкаталог, все файлы с a .tmp расширение и любые файлы подкачки, которые энергии нравится создавать. Это будет также автоматически синхронизировать файлы, не прося подтверждение (auto = true) и сохранит резервные копии файлов, которые перезаписываются, когда они синхронизируются в /home/user/Unison-Backups.

Полезные ссылки

Домашняя страница унисона
Руководство пользователя и справочник
Хороший Унисон ведет Philip Guo