Поиск по сайту:

Unison — идеальный инструмент локальной/удалённой синхронизации файлов для Linux


Синхронизация файлов — это процесс зеркального отображения файлов и данных в двух или более местах в соответствии с определенными протоколами. Файлы и данные — самая ценная вещь в эпоху информационных технологий. С помощью синхронизации файлов мы гарантируем, что одна или несколько копий наших бесценных данных всегда будут доступны в случае какой-либо катастрофы или когда нам придется работать в нескольких местах.

Хороший синхронизатор файлов должен иметь следующие функции:

  1. Криптографическая синхронизация как реализация безопасности.
  2. Хороший коэффициент сжатия данных.
  3. Идеальная реализация алгоритма для проверки дублирования данных.
  4. Отслеживайте изменение источника файла.
  5. Синхронизация по расписанию.

Одним из таких инструментов является Unison. В этой статье мы подробно обсудим «Unison», а также его особенности, функциональность и многое другое.

Что такое Унисон?

Unison — это кроссплатформенное приложение для синхронизации файлов, которое полезно для синхронизации данных между двумя или более местами, будь то компьютеры или устройства хранения данных.

Особенности Унисона

  1. Выпущено под лицензией General Public License (GPL).
  2. Доступен открытый исходный код и кроссплатформенность для (Linux, Unix, BSD, Windows, Mac)
  3. Сделайте одну и ту же версию файла доступной на разных компьютерах, независимо от местоположения последнего изменения.
  4. Возможна межплатформенная синхронизация, т. е. компьютер Windows можно синхронизировать через *nix-сервер.
  5. Общайтесь по стандартному протоколу TCP/IP, т. е. возможно между любыми двумя компьютерами через Интернет, независимо от географического местоположения.
  6. Интеллектуальное управление — отображать конфликт, когда файл был изменен в обоих источниках, и показывать его пользователю.
  7. Защищенное соединение SSH – зашифрованная передача данных.
  8. Здесь развернут алгоритм rsync, передается и перезаписывается только измененная часть. Следовательно. он быстр в исполнении и обслуживании.
  9. Прочный по своей природе
  10. Написан на языке программирования Objective Caml.
  11. Зрелый и стабильный, не требует активного развития.
  12. Это программа пользовательского уровня, т. е. приложению не требуются права суперпользователя.
  13. Он известен своей четкой и точной спецификацией.

Установка Unison в Linux

Текущую стабильную версию (Unison-2.40.102) можно скачать по ссылке ниже:

Скачать Unison 2.40.102 Стабильная

Кроме того, мы также можем загрузить и установить «Unison», если он доступен в репозитории, с помощью команды apt или yum, как показано ниже.

В Debian/Ubuntu/Linux Mint

Откройте терминал, используя «Ctr+Alt+T» и выполните на терминале следующую команду.

sudo apt-get install unison
На RHEL/CentOS/Fedora

Сначала включите репозиторий EPEL, а затем установите его с помощью следующей команды.

sudo yum install unison

ПРИМЕЧАНИЕ. Приведенная выше команда установит Unison без GUI. Если вам необходимо установить Unison с поддержкой графического пользовательского интерфейса, установите пакет «unison-gtk» (доступен только для дистрибутивов на базе Debian), используя приведенную ниже команду.

apt-get install unison-gtk

Как использовать Унисон

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

Локальная синхронизация файлов

Давайте создадим 5 файлов на рабочем столе, а затем синхронизируем их с папкой под названием «desk-back» в вашем домашнем каталоге.

cd Desktop/
touch 1.txt 2.txt 3.txt 4.txt 5.txt
ls

1.txt 2.txt 3.txt 4.txt 5.txt
mkdir /home/server/desk-back

Теперь запустите команду «unison», чтобы синхронизировать файлы рабочего стола с разделом «desk-back» в вашем домашнем каталоге.

unison /home/server/Desktop /home/server/desk-back/
Пример вывода
Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
/home/server/Desktop
/home/server/desk-back
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty. This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations. See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.
Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison
Press return to continue.[]
...
...
Saving synchronizer state
Synchronization complete at 13:52:15 (5 items transferred, 0 skipped, 0 failed)

Теперь проверьте местоположение /home/server/desk-back, прошел ли процесс синхронизации успешно?

cd /home/server/desk-back/
ls

1.txt 2.txt 3.txt 4.txt 5.txt

Удаленная синхронизация файлов

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

unison -testServer /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/
Пример вывода
Contacting server...
[email 's password: 
Connected [//tecmint//home/ravisaive/Desktop -> //tecmint//home/ravisaive/Desktop]

Приведенные выше результаты указывают на то, что удаленный сервер успешно подключен. Теперь синхронизируйте файлы, используя команду ниже.

unison -batch /home/ravisaive/Desktop/ ssh://172.16.25.125//home/ravisaive/Desktop/

Выполнение GUI Unison

Первым шагом является настройка профиля, который требует от вас указать основную информацию, такую как имя профиля и то, что вы хотите синхронизировать, местоположение источника и назначения и т. Д.

Чтобы запустить графический интерфейс Unison, выполните на терминале следующую команду.

unison-gtk

После создания профиля и ввода источника и пункта назначения нас приветствует окно ниже.

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

Заключение

Unison — замечательный инструмент, который позволяет выполнять настраиваемую синхронизацию в любом направлении (двунаправленную), доступную как в графическом интерфейсе, так и в утилите командной строки. Unison дает то, что обещает. Этот инструмент очень прост в использовании и не требует дополнительных усилий. Меня, как тестировщика, это приложение очень впечатлило. Он имеет множество функций, которые можно реализовать по мере необходимости. Для получения дополнительной информации прочтите руководство Unison.

Читайте также:

  1. Rsync (удаленная синхронизация) файлов
  2. Синхронизатор файлов Rsnapshot (на основе Rsync)

Это все на данный момент. Скоро буду здесь снова с еще одной интересной статьей. А до тех пор следите за обновлениями и подключайтесь к Tecmint. Не забудьте оставить нам свой ценный отзыв в разделе комментариев.