Библиотека сайта 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. Она должна выглядеть примерно так.
Сначала нам нужно создать новый профиль для синхронизации. Для создания нового профиля кликните 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. Он может намного больше. Если вы хотите изучить его более углубленно, рекомендую почитать официальную документацию по приложению.