
Быстрый старт
Ниже — путь от установленного пакета до ежедневной копии по расписанию. Все команды выполняются из корня сайта; путь к сайту в примерах — /path/to/site.
1. Проверьте конфигурацию
php core/components/mxbackup/cli/mxbackup.php validate-configКоманда проверяет то, из-за чего копия обычно падает уже в процессе: наличие нужного расширения PHP для выбранного формата, существование и доступность каталога хранения, доступность базы данных и корректность профиля. Ответ Конфигурация корректна. означает, что можно запускать копию.
Проверка выполняется только из консоли — в менеджере такой кнопки нет. Запустите её после установки пакета и после каждого изменения каталога хранения или формата архива.
Каталог архивов по умолчанию
Если настройка mxbackup.storage_path пуста, архивы складываются в каталог backups рядом с корнем сайта — то есть на уровень выше webroot. Путь внутри webroot, в core/cache или в корне сайта отклоняется до начала работы. См. Права и безопасность.
2. Посмотрите состав будущего архива
php core/components/mxbackup/cli/mxbackup.php dry-run --profile=devdry-run не читает содержимое файлов и не пишет архив. Он собирает список файлов и таблиц, а для профиля dev дополнительно строит план обезличивания: какие колонки каких таблиц будут подменены и какие таблицы будут очищены целиком. Результат печатается в JSON и попадает в историю запусков.
В менеджере это кнопка «Проверить состав» над вкладками; результат показывается сводкой и сохраняется в «Историю».
Обязательный шаг после правки правил
Проверку состава стоит запускать каждый раз, когда вы добавили в базу свои таблицы с персональными данными или изменили правила обезличивания. Это единственный способ убедиться, что новое правило действительно попало на нужные колонки. См. Обезличивание.
3. Создайте первую копию
php core/components/mxbackup/cli/mxbackup.php backup --profile=prodЧто происходит:
- каталог хранения проверяется и блокируется файлом
.mxbackup.lock— параллельный запуск получит ошибкуДругой backup уже выполняется; - в истории появляется запись со статусом «Выполняется»;
- собирается SQL-дамп и список файлов, пишется манифест;
- архив создаётся во временном файле
.<имя>.part.<расширение>и только после успешного завершения переименовывается в итоговый; - считается SHA-256 архива, применяется ротация, при включённой почте отправляется отчёт;
- запись в истории закрывается статусом «Успешно», «С предупреждениями» или «Ошибка».
Что получилось
Имя файла: mxbackup-<профиль>-<YYYYMMDD-HHMMSS>.tar.gz (или .zip), где время записано в UTC.
Внутри архива:
| Элемент | Содержимое |
|---|---|
site/ | файлы сайта, пути относительно корня |
database.sql | дамп выбранных таблиц |
mxbackup-manifest.json | версия mxBackup, версия MODX и PHP, профиль и режим, время создания, корень сайта, контрольная сумма database.sql, признак обезличивания, предупреждения и статистика запуска |
4. Поставьте копию в cron
15 3 * * * /usr/bin/php /path/to/site/core/components/mxbackup/cli/mxbackup.php backup --profile=prod --no-mailОтдельная задача для очистки старых архивов не нужна: ротация применяется в конце каждого успешного запуска. Команда cleanup пригодится, если правила хранения изменились и нужно применить их прямо сейчас.
От какого пользователя запускать
Запускайте задачу от того же пользователя, от которого работает сайт. Копия, снятая под root, оставит в каталоге архивов файлы, которые веб-пользователь не сможет ни прочитать, ни удалить при ротации.
5. Настройте профиль под свой сайт
Готовые профили годятся как отправная точка, но обычно требуется уточнить два момента:
- что не нужно в архиве. Из
prodуже исключеныcore/cache/,core/packages/иassets/cache/; сюда же добавляют каталоги с чужими копиями, логами и крупными выгрузками; - какие таблицы не нужны. Кэш поиска, статистика, очереди — их проще исключить, чем хранить в каждой копии.
Всё это правится во вкладках «Профили» и «Таблицы БД» — см. Профили.
MODX 2: правая кнопка мыши открывает половину функций
В линии для MODX 2 гриды менеджера не показывают кнопок для правки строк: профиль редактируется, правило обезличивания добавляется, а отчёт о запуске и восстановление открываются через контекстное меню строки. В линии для MODX 3 эти действия вынесены кнопками в строку. Полная карта — в разделе Профили.
Что дальше
- Профили — состав архива, формат, шифрование, перенос настроек между сайтами.
- Обезличивание — как получить безопасную копию базы для разработки.
- CLI и cron — полный список команд, параметров и кодов возврата.
- Восстановление — обратная операция и её ограничения.
