Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Синхронизация файлов в Ubuntu/Debian с помощью Unison

Оригинал: Synchronize Files with Unison on Ubuntu/Debian
Автор: Senthilkumar
Дата публикации: 17 июля 2013 года
Перевод: А. Кривошей
Дата перевода: август 2013 г.

Unison - это бесплатная кроссплатформенная утилита для синхронизации, которая поддерживает два экземпляра наборов файлов на двух машинах или на двух различных дисках в одной системе. В отличие от простого зеркалирования или резервного копирования она обновляет обе копии файла общей структуры директорий. Она обнаруживает и показывает конфликтующие обновления. В отличие от распределенных файловых систем Unison является программой пользовательского уровня и не требует модификации ядра или привилегий root на каждом хосте.
Unison работает на любой паре машин, подключенной к интернет напрямую либо через защищенный туннель SSH. Она нетребовательна к пропускной способности сети и хорошо работает даже на медленных соединениях. Передача небольших обновлений файлов большого размера оптимизирована с помощью протокола сжатия, похожего на rsync.
В этом руководстве я использую две системы, работающие под Ubuntu. Локальная система работает под Ubuntu Desktop, и ее IP-адрес 192.168.1.100/24. Удаленная система работает под Ubuntu Server и ее IP-адрес 192.168.1.201/24. Я собираюсь синхронизировать директорию /home/sk/Unixmen.

Установка Unison

На локальной и удаленной системах:

Обновите обе системы при помощи следующих команд:

$ sudo apt-get update
$ sudo apt-get upgrade

Установите Unison в обеих системах:

$ sudo apt-get install unison unison-gtk

Настройка

Теперь в локальной системе запустите утилиту Unison GUI. Она должна выглядеть примерно так.

утилита Unison GUI

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

создание профиля

Введите имя для нового профиля и кликните Forward.

имя профиля

Здесь вас попросят указать метод синхронизации. Я хочу проводить синхронизацию между локальной машиной и удаленным сервером, используя SSH, поэтому выбираю "Using SSH". Введите IP-адрес и имя пользователя для удаленного сервера, как показано ниже, и кликните Forward.

настройка синхронизации

Теперь необходимо вернуться к локальной и удаленной папкам. Введите путь к локальной папке в Local Directory (у меня это /home/sk/Unixmen), а путь к удаленной - в Remote Directory. Кликните Forward.

задание пути к директориям

Если вы синхронизируете любые папки на разделах FAT, отметьте "FAT Partition" и кликните Forward.

выбор типа раздела

В конце кликните Apply.

завершение настройки

Мы успешно создали профиль. Кликните Open, чтобы начать синхронизацию.

запуск синхронизации

Вы увидите запрос пользовательского пароля для удаленной системы. Введите пароль и кликните Ok.

ввод пароля

Если вы запускаете приложение в первый раз, то увидите предупреждение, как показано ниже. Для продолжения кликните Ok.

предупреждение

Теперь вы увидите следующую картину:

процесс синхронизации

Скопируйте папки или файлы, которые вы хотите реплицировать на удаленной машине, в свою папку для синхронизации (/home/sk/unixmen), и кликните Go. Все будет происходить в фоновом режиме. Теперьт проверьте наличие файлов на удаленной машине. Они определенно должны быть там. Если вы добавите новый файл или директорию, кликните Rescan, затем Go для начала синхронизации.

sk@server1:~$ ls /home/sk/Unixmen/
New1  New2  New3

Это все. Наслаждайтесь. Здесь описаны только базовые функции Unison. Он может намного больше. Если вы хотите изучить его более углубленно, рекомендую почитать официальную документацию по приложению.