Приложение для организации двунаправленной синхронизации файлов.

unison 002

Unison — консольная OCaml (Objective Caml) утилита для двунаправленной синхронизации файлов.

unison 004

Unison имеет простой и и интуитивно понятный GTK пользовательский интерфейс (GUI), при создании утилиты использовался алгоритм Rsync (универсальная консольная утилита для копирования файлов), поэтому при синхронизации между каталогами передаются только изменившиеся файлы (частей файлов).

unison 005

unison 006

Работа двунаправленной синхронизации Unison заключаются в том что одновременные изменения в файлах и каталогах, в двух копиях будут синхронизированы и объединены (при синхронизации проверяются и сохраняются права доступа), в этом и заключается отличие от зеркалирования используемого Rsync, когда изменения распространяются только в одну сторону (от источника к назначению).

unison 007

unison 008

unison 009

unison 010

unison 011

unison 012

Unison может работать локально и в клиент-серверном режиме, поддерживается сжатие передаваемых данных, предоставляя возможность оптимально использовать канал передачи данных. Для удобства использования можно создавать профили, в которых задаются каталоги для синхронизации, типы файлов которые следует игнорировать и прочее. Профили сохраняются в виде обычных текстовых файлов, с расширением *.prf (в каталоге ~/.unison).

unison 013

unison 014

При синхронизации с удалёнными компьютерами рекомендуется использовать протокол SSH (Secure Shell), для синхронизации на более чем двух компьютерах предпочтительно задействовать "топологию звезда", когда все компьютеры-клиенты синхронизируются через один компьютер-сервер. Это помогает избегать конфликтов, которые могут возникнуть при использовании "топологии кольцо".

unison 015

unison 016

unison 017

Первая синхронизация и синхронизация больших каталогов может занять много времени (особенно с удалённой машиной), в процессе синхронизации выводится таблица изменений между каталогами. Единственная ситуация в которой Unison не сможет справится без участия пользователя, это когда на машинах-клиентах изменились одни и те же файлы, в такой ситуации будет выдан запрос какой файл сохранить (для просмотра различий используется diff).

unison 003

Лицензия: GNU General Public License version 3.0 (GPLv3)

unison 018

Домашняя страница

Страница на github.com