Есть удобная программа для двухсторонней синхронизации файлов и директорий - Unison. Она существует под множество платформ, в том числе и под CentOS. Но в CentOS 7 ее до сих пор нет в репозитории epel, хотя для предыдущих версий она существует. Соберем ее из исходников.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Содержание:
Описание программы Unison
Unison - кроссплатформенная программа для синхронизации файлов между двумя или более компьютерами или устройствами хранения данных.
Особенности программы:
- Выпускается под лицензией GPL.
- Исходный код открыт и доступен для платформ Linux, Unix, BSD, Windows, Mac.
- Сохраняет единую версию файла на различных устройствах.
- Возможна кроссплатформенная синхронизация файлов, например виндовых и линуксовых машин.
- Работает по протоколу TCP/IP.
- Использует шифрованную передачу данных по ssh.
- Используется алгоритм rsync с модифицированной частью передачи и перезаписи файлов. Это обеспечивает высокую надежность и быстродействие.
- Написана на языке Caml.
- Приложение работает в пользовательской среде, т.е. не требует административных прав.
Устанавливаем Unison в CentOS 7
Если мы попробуем ее поставить через yum, то увидим следующее:
Поэтому придется ее собирать локально из исходных текстов, которые можно скачать с сайта разработчика:
http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/
Программа написана на языке OCaml, так что для начала ставим необходимые для unison зависимости:
# yum install ocaml ocaml-camlp4-devel ctags ctags-etags
Дальше переходим в домашний каталог и скачиваем дистрибутив:
# cd /root # wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.48.3.tar.gz
Распаковываем архив с программой:
# tar xvfz unison-2.48.3.tar.gz
Переходим в папку с исходниками:
# cd unison-2.48.3
Собираем программу:
# make
Копируем в системные папки:
# cp -v unison /usr/local/sbin/ # cp -v unison /usr/bin
Вот и все, дальше можно пользоваться программой для синхронизации папок на удаленных серверах.
Пример настройки двухсторонней синхронизации
Рассмотрим работу программы на простом примере. Допустим у нас есть 2 папки с сайтами:
- /web/sites/site1
- /web/sites/site2
Создадим в папке site1 2 файла:
# cd /web/sites/site1 # touch 1.html 2.html
Синхронизируем содержимое папки site1 с папкой site2:
Проверяем:
# cd /web/sites/site2 # ls -l total 0 -rw-r--r-- 1 root root 0 Sep 21 17:22 1.html -rw-r--r-- 1 root root 0 Sep 21 17:22 2.html
Содержимое каталогов синхронизировано. Теперь удалим из папки site2 один файл и снова проведем синхронизацию:
# rm -f /web/sites/site2/1.html
Проверяем содержимое папки site1
# cd /web/sites/site1 # ls -l total 0 -rw-r--r-- 1 root root 0 Sep 21 17:21 2.html
Удаленного файла нет. По такому принципу работает программа. Позже я напишу объемный материал о том, как я использую эту программу в своих задачах бэкапа и резервирования информации на удаленных серверах.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Unison уже есть в репозитории Centos 7