Блог did5.ru

Про АйТи и около айтишные темы

Резервное копирование WordPress

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

wordpress backup thumb Резервное копирование WordPressОдной из причин перехода на новый хостинг было отсутствие возможности делать нормальный backup блога. Чтобы это было все в автоматическом режиме — один раз сделал и забыл. Так оно и получилось, а про сам процесс настройки резервного копирования базы данных и всех файлов блога расскажу ниже…

Куда будем копировать?

Очень важный вопрос – это где же хранить резервную копию своего сайта/блога? Понятно, что держать все яйца в одной корзине глупо. Обязательно для хранения backup нужно использовать отдельный файловый сервер. Для этого у хостинга есть услуга «Дисковое пространство для Backup» за 10 рублей в месяц за 1 ГБ. Весь мой блог весит меньше 300 МБ, поэтому за недорого получаю надежное хранилище резервный копий WordPress.

Заказать дисковое пространство можно в панели управления хостингом в меню услуги в самом низу.

wp backup 1 thumb Резервное копирование WordPress

Через несколько минут после заказа уже можно использовать дисковое пространство для записи бэкапов.

Настройка

На данном этапе имеем два сервера: С1 – сервер на котором крутится блог и С2 – сервер для backup.

1. Заходим на С1 по SSH (в Windows через Putty). Адрес, логин и пароль смотрим в меню «Мой аккаунт – Пароли аккаунта», учетные данные для FTP и SSH совпадают. Далее вводим команды:

cd private/ && mkdir backup/ && cd backup/
ssh-keygen -t rsa -f id-rsa

При запросе ввести passphrase – ничего не вводим, просто жмем Enter

wp backup 2 thumb Резервное копирование WordPress

Создались два ключа: id-rsa — приватный ключ и id-rsa.pub — публичный ключ.

2. Заходим на С2 по SFTP (порт 22) и создаем в корне папку .ssh/. В эту папку копируем публичный ключ id-rsa.pub и переименовываем его в .ssh/authorized_keys и ставим на файл права доступа 600.

3. На С1 в папку private/backup скачиваем два скрипта: backup-files.sh и backup-mysql.sh. В каждом скрипте нужно изменить 3 параметра:

B_USER — пользователь для подключения в backup аккаунт

B_HOST — хост подключения на backup сервер

DOMAIN — домен текущего сайта

wp backup 3 thumb Резервное копирование WordPress

Устанавливаем на файлы права для запуска 700:

chmod 700 backup-files.sh backup-mysql.sh

4. Теперь нужно прописать запуск этих скриптов по расписанию в планировщике. «Панель управления хостингом – Планировщики – Добавить задание». Я буду делать резервное копирование каждый день в 3 часа ночи.

wp backup 4 thumb Резервное копирование WordPress

И самое важное это команда на запуск скрипта, пишется в одну строку:

cd /home/httpd/vhosts/did5.ru/private/backup/ &&
/home/httpd/vhosts/did5.ru/private/backup/backup-files.sh rsync

Вместо did5.ru вставляйте свой домен.

Этот скрипт скопирует все файлы блога на С2. Для скрипта backup-files.sh можно указать как аргумент протокол передачи архива на backup сервер:

backup-files.sh rsync — производится копирование на backup сервер в папку httpdocs всех обновленных файлов по протоколу rsync без архивирования.При каждом последующем выполнении команды с ключем rsync, на backup сервер обновляются только новые и измененные файлы, а не все файлы сайта.

backup-files.sh sftp — производится копирование на backup сервер архива папки httpdocs в формате .tar.gz

backup-files.sh (без ключей) — производится копирование на backup сервер архива папки httpdocs в формате .tar.gz по протоколу scp

5. Второй скрипт скопирует базу данных

cd /home/httpd/vhosts/did5.ru/private/backup/ &&
/home/httpd/vhosts/did5.ru/private/backup/backup-mysql.sh HOST DB_USER DATABASE PASSWORD

где:

HOST — хост подключения к mysql серверу

DB_USER — пользователь базы данных

DATABASE — имя базы данных

PASSWORD — пароль пользвоателя для доступа к базе данных

Для проверки работоспособности я выставил время на 20 минут вперед, после чего зашел по SFTP на С2 и убедился, что скопировались файлы и база. На виртуальной машине развернул блог из резервной копии – работает.

В планах сделать копирование backup еще куда-нибудь, но это позже.

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!


Хотите поблагодарить автора за эту заметку? Вы можете это сделать!


Автор: did5

14 Июн 2012 в 13:00

Рубрика: Блог

Метки:

Ваш отзыв