Как синхронизировать два веб-сервера Apache с помощью Rsync?

Как синхронизировать два веб-сервера Apache с помощью Rsync?

Apachersync

В Интернете доступно большое количество учебных пособий для зеркалирования или создания резервных копий веб-файлов различными методами. В этой статье мы будем использовать очень простую и универсальную команду Linux для создания резервной копировании веб-сервера. Эта статья поможет вам синхронизировать данные между двумя веб-серверами с помощью «Rsync».

Как синхронизировать два веб-сервера Apache с помощью Rsync?

 

Цель создания зеркала вашего веб-сервера с помощью Rsync заключается в том, что в случае сбоя основного веб-сервера ваш резервный («зеркальный») сервер может быстро подменить вишедшего из строя собрата по оружию, чтобы сократить общее время простоя до починки основного веб-сервера. Этот способ создания резервной копии веб-сервера очень хорош и эффективен для малого и среднего бизнеса.

 

 

Преимущества синхронизации веб-серверов

Основные преимущества создания резервной копии веб-сервера с помощью rsync:

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

 

 

Как синхронизировать два веб-сервера Apache?

Давайте приступим к настройке rsync для создания зеркала вашего веб-сервера. Мы будем использовать сервера со следующими настройками:

 

Основной сервер
  • IP-адрес: 192.168.0.100
  • Имя хоста: webserver.example.com

 

 

Резервный сервер
  • IP-адрес: 192.168.0.101
  • Имя хоста: backup.example.com

 

 

Шаг 1: Установка инструмента Rsync

В нашем случае данные веб-сервера webserver.example.com будут зеркалироваться на backup.example.com. Чтобы это сделать, нам в первую очередь необходимо установить Rsync на оба сервера. Выполнить это можно с помощью следующей команды:

[[email protected]]# yum install rsync [On Red Hat based systems]
[[email protected]]# apt-get install rsync [On Debian based systems]

 

 

Шаг 2. Создание пользователя для запуска Rsync

Мы можем настроить rsync зайдя под пользователем root, но по соображениям безопасности рекомендуем вам создать непривилегированного пользователя на главном веб-сервере (то есть на webserver.example.com) для запуска rsync:

[[email protected]]# useradd sedicomm
[[email protected]]# passwd sedicomm

 

Здесь мы создали пользователя «sedicomm» и назначил ему пароль.

 

 

Шаг 3: Проверка настройки Rsync

Пришло время проверить настройки rsync на сервере резервного копирования (т.е. backup.example.com). Выполнить это можно, введя следующую команду:

[[email protected] www]# rsync -avzhe ssh [email protected]:/var/www/ /var/www

 

Пример вывода
[email protected]'s password:

receiving incremental file list
sent 128 bytes received 32.67K bytes 5.96K bytes/sec
total size is 12.78M speedup is 389.70

 

 

Вы можете увидеть, что rsync работает должным образом и синхронизирует данные. Мы зеркалировали папку с файлами «/var/www». Вы можете изменить расположение папки в соответствии с вашими потребностями.

 

 

Шаг 4: Автоматизация синхронизации с помощью SSH без пароля

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

В этом примере, мы выполняем все настройки от имени пользователя root, чтобы сохранить права владения файлами, вы можете выполнить это и для альтернативных пользователей.

Во-первых, мы создадим открытый и закрытый ключ с помощью следующих команд на сервере резервных копий (т.е. backup.example.com):

[[email protected]]# ssh-keygen -t rsa -b 2048

 

Когда вы вводите эту команду, пожалуйста, не заполняйте поле «Enter passphrase«. Просто нажмите ввод чтобы оставить это поле пустым. Это необходимо, чтобы rsync в cron не нуждался в пароле при синхронизации данных:

 

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

Как синхронизировать два веб-сервера Apache с помощью Rsync?

 

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

[[email protected] html]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

 

Теперь попробуйте войти в систему, используя «ssh ‘[email protected]», и публичный ключ в .ssh/authorized_keys:

[[email protected] html]# [email protected]

 

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

 

Подключение по SSH с использованием ключей

 

Шаг 5: Запланируйте Cron для автоматической синхронизации

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

[[email protected] ~]# crontab –e

 

Откроется файл /etc/crontab для редактирования в редакторе по умолчанию. В этом примере мы указываем cron выполнять синхронизацию данных каждые 5 минут:

*/5 * * * * rsync -avzhe ssh [email protected]:/var/www/ /var/www/

 

Приведенные выше команды cron и rsync просто синхронизируют «/var/www/» с основного веб-сервера на резервный сервер каждые 5 минут. Вы можете изменить время и конфигурацию расположения папки в соответствии с вашими потребностями.

Чтобы быть более креативным и настраивать еще больше синхронизаций с помощью команд Rsync и Cron, вы можете ознакомиться с еще одной статьей по этой теме:

 

 

Как настроить DRBD для Replicate Storage на двух серверах CentOS 7?

 

 

Если вам понравилась эта статья, подпишитесь на наши уведомления. Если у вас остались какие-нибудь вопросы, то оставляйте их в разделе комментариев.

 

 

Cпасибо за уделенное время на прочтение статьи о том, как синхронизировать два веб-сервера Apache с помощью Rsync!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Apachersync

Больше похожих постов

Как установить веб-сервер OpenLiteSpeed ​​в CentOS 8?

187
0
OpenLiteSpeed ​​— это высокопроизводительный и удобный веб-сервер HTTP с открытым исходным кодом, имеющий интерфейс веб-администрирования для управления веб-сайтами и их…

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню