Грамотный системный администратор первостепенно заботится о сохранности вверенных ему в администрирование данных, а потому резервное копирование – основа администрирования. Если вы не заботитесь о бэкапах, будь вы хоть эксперт самого высокого уровня, профессионалом вас не назвать.
Когда на моем блоге количество статей дошло до нескольких десятков, а использовать блог я стал уже полноценно, а не в целях обкатки и тестирования функций, меня все чаще стали посещать мысли “а вдруг все однажды упадет”. Использование одиночного диска SATA без всяких рейдов уверенности мне не добавляло, пусть и блог вскоре ждал переезд с тестовой среды на сравнительно защищенную, с использованием raid 1. Не став искушать судьбу я занялся вопросом резервного копирования WordPress. Недолго думая выбор пал на “XCloner” – средство не только резервного копирования, а ещё и клонирования сайтов. Если честно, то пока не могу адекватно оценить “XCloner”, кто-то может сказать, что это не лучший выбор, но у меня стояла задача выполнить резервное копирование и протестировать от начала и до конца сценарий восстановления. По отзывам в интернете это средство свою задачу выполняет на отлично, поэтому я и выбрал его.
Исходные данные
Имеем сервер с условным именем “debian01” с ОС “Debian”, настроен полностью по моим же статьям – “Debian. Установка системы на виртуальную машину” и “Debian. Начальная настройка системы“. Ниже я все-таки напишу основные моменты настройки, поскольку буду на них ссылаться в последующем.
На сервере “debian01” в каталог /var/www/ установлен “Wordpress”. Из консоли администрирования “Wordpress” добавлен плагин “XCloner”.
Подготовка второго сервера
Для полноценного восстановления нам понадобится второй сервер, аналогичный первому, условно назовем его “debian02”. Нужно подготовить и настроить этот сервер точно также как и первый:
Сеть:
root@debian7:~# nano /etc/network/interfaces
В файле у интерфейса eth0 задаем следующие настройки:
auto eth0
iface eth0 inet static
address 192.168.1.120
netmask 255.255.255.0
gateway 192.168.1.1
Пропишем DNS-серверы:
root@debian7:~# nano /etc/resolv.conf
nameserver 192.168.1.1
nameserver 8.8.8.8
Уберем проверку пакетов с cd-rom (закомментировать строчки, начинающиеся на cd-rom):
root@debian7:~# nano /etc/apt/sources.list
Обновление системы:
root@debian7:~# apt-get update
root@debian7:~# apt-get upgrade
Ставим необходимые пакеты для wordpress:
root@debian7:~# sudo apt-get install apache2 apache2-utils php5 php5-mysql mysql-client mysql-server
Почему-то нигде в интернете ни в одном руководстве “XCloner” я не нашел упоминания о том, что перед восстановлением надо создать базу данных mysql на новом сервере. Желательно это сделать в точности также как это было на старом – такое же название, пользователь и права.
Создаем базу:
root@debian7:~# mysql -u root -p
mysql> CREATE DATABASE IF NOT EXISTS имя_БД;
mysql> CREATE USER имя_пользователя@localhost IDENTIFIED BY “пароль_пользователя”;
mysql> GRANT ALL PRIVILEGES ON имя_БД.* TO “имя_пользователя”;
mysql> quit
Помимо этого надо разобраться с правами доступа к каталогам. В нашем случае предоставим права владельца каталога /var/www/ и его содержимого пользователю www-data и сделаем это рекурсивно:
root@debian7:~# chown -R www-data:root /var/www/
Достаем из бэкапа файлы (сделать вы это можете где угодно, хоть под Windows, хоть из под Linux):
TAR.php
XCloner.php
В архиве будут два файла “XCloner.php“, нам нужен тот, который весит больше. Помещаем эти файлы в каталог установки сайта – у меня это /var/www/, поскольку других сайтов пока нет и в будущем они не планируются. Также в этом каталоге должен лежать сам архив. Немного размышлений о том, как это лучше всего сделать: я загружал файлы на внешний бесплатный файлообменник и скачивал их с помощью “wget“; вы это можете сделать любым другим способом – скачать с локального ftp-сервера, например; сразу хочу отметить, что облачные хранилища типа “Яндекс-Диска” или “Mail.ru Cloud” не прокатят – они не дают прямой ссылки на загрузку, скачивать можно только через браузер, проверено.
Восстановление сайта через Xcloner
Сразу после копирования всех необходимых файлов проходим по следующему пути: “http://192.168.1.120/XCloner.php” и увидим окно:
Необходимо вбить настройки подключения к СУБД. Все они нам известны из процесса создания базы данных на новом сервере (см. выше) – это имя пользователя, его пароль и имя базы данных. Не забываем выставить кодировку utf8, иначе получите знаки вопроса вместо ваших дорогих статей. Как все готово, нажимаем “Start install”. Если все нормально, то вы увидите прогресс восстановления и по его завершении получите следующее окно:
Нам ничего не остается, кроме как нажать “Please click here to continue with database import…” и после некоторого времени, необходимого для восстановления базы, мы увидим:
Нажимаем на “All should be done! Click here to continue…”.
Кажется все готово, осталось лишь перейти на ваш сайт, вбив в адресной строке ip-адрес сервера, но, к сожалению, вы получите стандартную страничку приветствия web-сервера “Apache”. Чтобы попасть на ваш сайт, нужно удалить дефолтную страницу следующей командой:
root@debian7:~# rm /var/www/index.html
На этом все, сайт должен работать:
После того как все восстановлено и проверено крайне желательно удалить скопированные ранее файлы “TAR.php” и “XCloner.php”, а также архив бэкапа с помощью команды rm, как это было сделано с файлом “index.html”.