Идеи могут быть обезврежены только идеями (О. Бальзак).

Как сделать синхронизацию локальных и удаленных каталогов в Linux

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
17 апреля 2017
Как синхронизации локальных и удаленных каталогов в Linux

Просмотров: 219

В этом руководстве описывается, как синхронизировать локальные и удаленные каталоги в Linux с помощью  Lsyncd (Live Syncing Daemon). Используя Lsyncd, мы можем легко отражать локальные каталоги и удаленные каталоги. Это будет очень полезно, если вы хотите синхронизировать данные между каталогами, которые часто обновляются новым содержанием. Lsyncd предназначен для синхронизации локального дерева каталогов с низким профилем ожидаемых изменений в удаленное зеркало. Это особенно полезно для синхронизации данных из защищенной области в не столь безопасном месте.

Синхронизация локальных и удаленных каталогов в Linux с использованием Lsyncd

Установка Lsyncd

В Debian и его производных, таких как Ubuntu, Linux Mint выполните следующую команду для установки Lsyncd:

 

На RHEL, CentOS, вам необходимо включить Epel репозиторий первым.

 

Затем установите Lsyncd с помощью команды:

Конфигурация Lsyncd на Debian и Ubuntu и производных

Lsyncd не предоставляет файл конфигурации по умолчанию в системах на основе DEB. Нам нужно создать его вручную. Однако Lsyncd включает некоторые примеры конфигурационных файлов, которые полезны, чтобы получить общее представление о том , как сделать синхронизацию. Файлы примеров конфигурации будут найдены под каталоге “/usr/share/doc/lsyncd-*/examples” .

 

Пример вывода:

 

Как вы видите, в приведенном выше выводе, каждый конфигурационный файл является с расширением .lua. Это происходит потому, что файл конфигурации lsync написан с использованием языка программирования Lua. Давайте посмотрим на образец файла конфигурации.

 

Файл конфигурации Lrsync выглядит следующим образом:

Конфигурация Lsyncd на RHEL и CentOS

В системах RHEL и CentOS, конфигурационный файл Lsyncd будет создан автоматически. Вы можете просмотреть содержимое этого файла с помощью команды:

 

И, файлы примеров конфигурации доступны в следующих местах.

Синхронизация локальных каталогов на Debian, Ubuntu

Теперь мы будем синхронизировать два локальных каталога.

Давайте создадим два каталога с некоторым содержание, например:

 

Создадим случайные файлы в каталоге source_dir:

 

При желании, вы можете создать несколько файлов журнала для Lysyncd. Это только по желанию. Если вы не хотите лог-файлы, пропустите этот шаг.

 

Затем создайте файл конфигурации для Lsyncd:

Отредактируйте/измените следующие строки:

 

Замените в пути исходные и целевые каталоги вашими собственными значениями. Сохраните и закройте файл.

Включите, запустите или перезапустить службу Lsyncd с помощью команд:

 

Теперь, проверьте содержимое каталогов source_dir и dest_dir.

 

Пример вывода:

 

Проверьте содержание каталога dest_dir:

 

Пример вывода:

 

Помните, что мы только создали файлы в каталоге source_dir и содержимое этого каталога были автоматически синхронизировано с каталогом dest_dir.

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

 

Пример вывода:

 

Проверьте файл состояния Lsyncd:

 

Пример вывода:

Синхронизация локальных каталогов на RHEL, CentOS

Редактирование файла конфигурации Lsyncd:

 

Отредактируйте и измените следующие строки:

 

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

Включите и запустите услугу Lsyncd с помощью команд:

 

Теперь, проверьте содержимое каталогов source_dir и dest_dir.

 

Пример вывода:

 

Проверьте содержание каталога dest_dir:

 

Пример вывода:

 

Отлично! Содержание source_dir было успешно синхронизировано с каталогом dest_dir.

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

 

Проверьте файл состояния Lsyncd:

Синхронизировать удаленные каталоги на системах Debian, Ubuntu

Нам нужно настроить логин и пароль для SSH. Это происходит потому, что Lsyncd автоматически копирует содержимое локального каталога на удаленный каталог без вмешательства пользователя.

 

Не вводите пароль. Просто нажмите кнопку ENTER, чтобы принять значения по умолчанию.

 

Теперь, скопируйте открытый ключ SSH на вашу удаленную систему:

 

Пример вывода:

 

Здесь 192.168.10.150 является IP-адрес удаленной системы.

Теперь вы сможете войти по SSH на вашу удаленную систему без ввода пароля:

 

Создание целевого каталога в удаленной системе с помощью команды:

 

Выйдите из удаленной системы:

 

Затем отредактируйте конфигурационный файл Lsyncd на исходной машине:

 

Отредактируйте/измените следующие строки:

 

Здесь 192.168.10.150 является IP-адрес моего удаленного хоста. И, директория назначения /root/remotesync/ на моей удаленной системе. Замените значения вашим собственным. Сохраните и закройте файл.

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

 

Теперь, подключитесь по SSH к вашей удаленной системе:

И, проверьте содержимое целевого каталога (т.е. в нашем случае /root/remotesync/). Вы увидите все файлы из исходного каталога из локальной системы были воспроизведены в целевом каталоге в целевой системе.

 

Эта процедура одинакова для систем RHEL и CentOS. Настройте беспарольный вход через SSH и убедитесь, что вы изменили правильный исходный и целевой пути в главном файле конфигурации Lsyncd (/etc/lsyncd.conf) в системе RHEL или CentOS, а остальные шаги одинаковы.

Теперь вы знаете, как синхронизировать локальные и удаленные каталоги в Linux с помощью Lsyncd. Как вы можете видеть, что это очень легкий и прямой метод.

Ресурсы:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Один комментарий к Как сделать синхронизацию локальных и удаленных каталогов в Linux

  1. Alexander Ezhov:

    Коротко, ясно и понятно. Спасибо тебе большое!!! good

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

ПОИГРАЙ, РАССЛАБЬСЯ

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close