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

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

Рубрики:

Apache, rsync

Метки:

, , , ,

В Интернете доступно большое количество учебных пособий для зеркалирования или создания резервных копий веб-файлов различными методами. В этой статье мы будем использовать очень простую и универсальную команду 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 на оба сервера. Выполнить это можно с помощью следующей команды:

 

 

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

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

 

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

 

 

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

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

 

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

 

 

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

 

 

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

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

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

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

 

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

 

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

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

 

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

 

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

 

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

 

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

 

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

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

 

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

 

Приведенные выше команды 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, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Apache, rsync

Метки:

, , , ,

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

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

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

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню