Как сделать backup WordPress.

Введение.

Продолжая разговор1 об установке и обновлению WordPress, необходимо уделить особое внимание созданию резервной копии WP2. К этому вопросу требуется отнестись серьёзно. На рынке существует несколько плагинов резервирования и восстановления WordPress, которые можно успешно применять в работе. Различные модули плагинов backup/restore используют в своей работе ресурсы Интернет. Ситуации при которых Интернет отсутствует не редки. В статье блога рассматривается локальный способ создания backup/restore для WP и возможности его автоматизации.

Порядок действий.

  • Стенд:
    • ALT Linux сервер, имя lin-wp; ip-10.0.2.8;
    • ALT Simply Linux, имя: lin-sl, IP=10.0.2.33;
    • БД MySQL имя: wp

Основные действия при создании архива, выполняются из командной строки при ssh3 соединении с сервером WordPress. Для подключения к серверу WP подойдёт любая рабочая станция Linux. Весь процесс создания резервной копии и восстановления из архива состоит:

  • Порядок выполнения:
    • создание резервной копии базы данных WP
    • создание резервной копии папок и файлов WP
    • выполнение автоматизации backup
    • проверка архива и восстановление резервной копии

Создание backup БД.

Выполнить инструкцию создания dump4 БД WordPress.

# cd /home
# mysqldump -uroot -pwordpress wp > wp_db.sql

В каталоге /home создаётся файл dump, wp_db.sql.

Backup папок и файлов WordPress.

Создание архива папок и файлов WordPress в каталоге /home с маркировкой даты создания.

# cp -r /var/www/html/wordpress /home
# cd /home
# tar -cjf wp_`date +%d`_back.tar.bz2 wordpress
# ls 
# wp_16_back.tar.bz2

Автоматизация backup WordPress

Программа, bkwp, поможет автоматизировать процесс резервного копирования WP. Скрипт последовательно выполняет действия backup. В результате создаёт структура из каталогов, файлов и dump(А) WP скопированных во временную папку. На финише программа сжимает всё, что хранится во временном каталоге с помощью архиватора5.

#!/bin/bash
TEMPDIR=/bkwp/
BACKUPDIR=/home/
mkdir -p $TEMPDIR
# Стор Apache2.
systemctl stop httpd2
# Стоп mysql
systemctl stop_mysqld
# dump MySQL.
mysqldump -uroot -pwordpress wp > $TEMPDIR/wp.sql
# Старт Apache2.
systemctl start httpd2
# Старт MySQL.
systemctl start mysqld
# Копировать каталоги и файлы WP.
cp -r /var/www/html/wordpress $TEMPDIR
# Сжать указав день создания.
tar -cjf $BACKUPDIR/wordpress_`date +%d`_back.tar.bz2 $TEMPDIR
# Удалить временный каталог
rm -rf /bkwp

В результате создаётся файл архива с указанием даты.

# ls
...
wordpress_19_back.tar.bz2

При распаковке архива, появляется папка с файлами и каталогами WordPress и БД dump wp.sql.

# tar xvf wordpress_data_back.tar.bz2
# ls -l bkwp
...
drwxr-xr-x... wordpress
-rw-r--r--... wp.sql

Скрипт, bkwp, нужно поместить в каталог /usr/local/bin. Назначить задачу crontab6 для запуска сценария по расписанию один7 раз в неделю.

# crontab -e
minute (0-59),
| hour (0-23),
| | day of the month (1-31),
| | | month of the year (1-12),
| | | | day of the week (0-6 with 0=Sunday).
| | | | | commands
00 00 * * 0 bkwp

Restore Backup.

Перед восстановлением необходимо, создать «чистую8» базу для WordPress, стендовое имя БД: wp

  • Порядок действия при восстановлении:
    • распаковать архив
    • удалить, если требуется, папку /var…/wordpress9
    • скопировать каталог wordpress из архива в /var…/wordpress
    • восстановить БД
    • проверить БД
home]# tar xvf wordpress_data_back.tar.bz2
home]# rm -rf /var/www/html/wordpress
home]# cd bkwp
bkwp]# cp -r wordpress /var/www/html/wordpress
bkwp]# mysql -uroot -pwordpress wp < wp.sql

Проверка целостности базы.

# mysqlcheck -uroot -pwordpress  --auto-repair --check --all-databases

Заключение.

К вопросу резервного копирования и восстановления надо подойти серьёзно. По мере наполнения сайта информацией, возрастает ответственность администратора за сохранность материала. На работу WordPress могут влиять различные факторы техногенного характера. Хорошая и проверенная резервная копия гарантирует надёжную работу сайта. Не ленитесь, смоделируйте на стенде технологический процесс Buckup/Restore, в дальнейшим это выручат при сбоях в работе оборудовании. Копии архивов храните на отдельных сетевых устройствах предприятия. Отслеживайте количество архивных копий, удаляйте старые копии и журналы, предупреждая этим от переполнения дисковую систему. Автоматизировать процесс удаления старых архивов WordPress, можно с помощью сценарий delkb как описано в этой статье.

Полезные ссылки.

Сноски.

  1. смотри полезные ссылки ↩︎
  2. WordPress ↩︎
  3. Secure Shell — безопасная оболочка ↩︎
  4. файл, включающий в себя содержимое базы данных ↩︎
  5. используется архиватор tar, для сжатия утилита bzip2, общее название суффикса tar.bz2 ↩︎
  6. компьютерная программа(демон) в UNIX, для периодического выполнения заданий в определённое время ↩︎
  7. расписание стенда ↩︎
  8. имеется в виду новая бд ↩︎
  9. полный путь корень веб сервера /var/www/html/wordpress ↩︎

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

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

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты