MODX. Резервное копирование сайта. Компонент BackupMODX

BackupMODX — компонент для создания резервной копии сайта MODX, с возможностью установки дополнительных настроек, таких срабатывание по cron, или детальным распределением файлов которые нужно архивировать.

В версии компонента 2.x замечена проблема, с сохранением файлов. Убедитесь в том что компонент видит данные из бэкапов (нажав на кнопку restore, должны увидеть список данных доступных для восстановления), прежде чем приступать к поломке вашего сайта.

  1. Загружаем / устанавливаем компонент;
  2. Идем в Настройки (шестеренка) → Панели;
  3. Нажимаем редактировать Панель, и добавляем виджет BackupMODX;
  4. Идем на главную страницу, ищем появившейся виджет;
  5. В виджете можно выбрать сохранять ли только Базу данных, только файлы, или все вместе; Можно ввести описание — текст который будет записываться в файл readme.txt;
  6. После нажатия кнопки Backup Site — бекап будет создан.

Для настройки работы компонента по крону, идем в системные настройки, ищем параметр backupmodx.cronEnable и ставим — yes. Затем идем в панель хостинга (или настройки сервера), и добавляем задачу в список задач Crontab.

Кстати, в панели управления у Timeweb эта процедура занимает всего пару минут.

Настройки BackupMODX

У компонента в системных настройках можно указать следующие параметры:

Параметр Описание
backupmodx.excludes Файлы / папки для исключения из резервной копии. Список разделяется запятыми. Можно использовать плейсхолдеры.  Пример: {assets_path}uploads/
backupmodx.targetPath Путь к папке для хранения резервных копий. Можно использовать плейсхолдеры. Пример: {core_path}backups/
backupmodx.cronKey Ключ безопасности для плановых резервных копий создающихся через cron. Может быть указана любая строка.
backupmodx.mysqldumpAlias Псевдоним для mysqldump.
backupmodx.zipAlias Псевдоним для zip архива.
backupmodx.mysqlAlias Псевдоним для MySQL.
backupmodx.cronFiles Включать или нет файлы в Cron-Backup.
backupmodx.cronDatabase Включить или нет базу данных в Cron-Backup.
backupmodx.cronNote Необязательный описательный txt-файл добавлен в резервную копию.
backupmodx.cronEnable Включить или отключить Cron.
backupmodx.cronMaxDatabase Максимальное количество сохраненных резервных копий баз данных.
backupmodx.cronMaxFiles Максимальное количество сохраненных резервных копий файлов.
backupmodx.groups Группа или разделенный запятыми список групп, которые будут иметь доступ к виджету.

Восстановление бэкапа

Для восстановления сайта из бэкапа старой версии компонента: поместите архив в папку сайта и разархивируйте. Затем, импортируйте sql файл в базу через phpmyadmin, либо командой в консоли.

Для восстановления сайта из бэкапа новой версии компонента — установите пустую сборку MODX, и компонент BackupMODX, скопируйте архив с бэкапом в папку указанную в backupmodx.targetPath, в виджите нажмите на кнопку Restore a Backup, выберете данные которые надо востановить, и восстановите.

В случае импорта базы через консоль, для MySQL команда выглядит так:

 mysql -v -u root -p db < /tmp/recovery.sql
  • root — учетная запись, от которой идет подключение к серверу баз данных; 
  • db — имя базы, которую необходимо восстановить; 
  • /tmp/recovery.sql — файл дампа, из которого восстанавливаем базу.

Если при создании дампа использовалась gzip, сперва архив надо распаковать:

gunzip /tmp/recovery.sql.gz