Восстановление Linux web сервера из копии (rsync)

В этом посте мы рассмотрели как сделать полный бекап сервера с web сайтами. Теперь рассмотрим как развернуть копию на новом сервере сохранив все настройки:

  1. Ставим Ubuntu/Debian желательно той же версии новом сервере
  2. Устанавливаем mysql (чтобы не разбираться с отсутствующим /var/lib/mysql/). И сразу останавливаем его:
    apt-get install mysql-server
    service mysql stop
  3. Копируем файлы с сайта или из последней копии, примерно таким образом (в примере копию сервера я беру из последнего бекапа с компьютера в локальной сети):
    rsync -av --exclude-from=site_exclude.data root@192.168.0.100:/opt/backup/daily/current/ /
    в файле site_exclude.data перечисляем каталоги и файлы, которые обновлять не нужно (загрузчик, fstab и прочее):
    boot/
    dev/
    etc/fstab
    etc/hosts
    etc/network/
    etc/netplan/
    proc/
    sys/
    var/lib/mysql/
  4. Загружаем базы из бекапа:
    service mysql start
    gunzip < /db_dump.sql.gz | mysql -uroot -ppassword-for-mysql
  5. У меня mysql после обновления сразу не запустился, помогла переконфигурация пакета и восстановление прав:
    dpkg-reconfigure mysql-server
    chown -R mysql:mysql /var/lib/mysql
    service mysql restart
  6. Обновляем IP адреса старого сервера (OldIP) на новый (NewIP), у меня требовалось сменить только в nginx и в файле /etc/hosts:
    find /etc/nginx/ -type f -readable -writable -exec sed -i "s/OldIP/NewIP/g" {} \
    sed -i 's/OldIP/NewIP/' /etc/hosts
  7. Перезагружаемся и проверяем. В моем случае еще потребовалось внести изменения на DNS сервере т.к. IP адрес у сайтов на этом сервере изменился.

Комментариев нет:

Отправить комментарий