mxBackup — обезличенные копии MODX в пару кликов
- mxBackup создаёт полноценные резервные копии MODX: файлы сайта, SQL-дамп базы, манифест и контрольные суммы — всё в одном архиве.
- Главная фишка пакета — отдельный dev-профиль, который автоматически обезличивает данные. Такую копию можно передать разработчику, подрядчику или
команде тестирования без пользователей, телефонов, адресов и других реальных данных клиентов. - Пакет доступен для MODX Revolution 2 и MODX Revolution 3.
- Полная документация: https://docs.modx.pro/components/mxbackup
Главная идея
Больше не нужно вручную чистить дамп перед передачей разработчику, искать персональные данные по десяткам таблиц и надеяться, что вы ничегоОбезличенный бэкап в пару кликов
не пропустили. mxBackup создаёт отдельную dev-копию, в которой чувствительные данные заменяются прямо во время формирования SQL-дампа.
- В менеджере MODX достаточно выбрать профиль dev, нажать «Проверить состав», а затем создать копию.
- mxBackup соберёт файлы сайта и базу данных, полностью очистит сессии и заменит персональные данные безопасными тестовыми значениями.
- Встроенные правила уже знают основные таблицы MODX и miniShop2: пользователей, профили, заказы, адреса и данные покупателей.
- Перед созданием архива можно посмотреть, какие таблицы войдут в копию, какие колонки будут обезличены и какие таблицы будут выгружены пустыми.
- Готовую копию можно передавать разработчику, разворачивать локально или использовать на тестовом сервере.
Обезличенную копию можно создавать одной CLI-командой или автоматически по расписанию. Например, раз в неделю готовить свежий dev-бэкап для
команды разработки.
php core/components/mxbackup/cli/mxbackup.php backup --profile=dev- Та же команда ставится в cron — менеджер MODX для регулярного запуска не нужен.
- CLI использует те же профили и правила, которые настроены в интерфейсе пакета.
- Результат команды возвращается в JSON, поэтому запуск можно подключить к мониторингу или своему сценарию автоматизации.
- Для крупных сайтов CLI — основной вариант работы: он не зависит от таймаутов браузера, PHP-FPM и прокси.
- Почта, телефоны, имена, адреса, IP и другие типовые данные заменяются стабильными тестовыми значениями.
- Подмена детерминированная: связанные записи остаются согласованными между таблицами, поэтому копия сохраняет пользу для разработки и
тестирования. - Пароли, токены, секреты и API-ключи очищаются или заменяются безопасными значениями.
- Таблицы с сессиями выгружаются пустыми.
- Для собственных таблиц можно добавить правила через менеджер: заменить значение тестовым, очистить, захешировать или подставить фиксированную
заглушку. - Поддерживаются правила для отдельных полей внутри JSON.
- Пользовательские правила имеют приоритет над встроенными, поэтому обезличивание можно подстроить под конкретный проект.
Для известных чувствительных таблиц mxBackup работает по принципу fail-closed. Если структура базы изменилась и обязательное поле больше
нельзя гарантированно обработать, пакет остановит создание архива и покажет ошибку. Лучше не получить копию вообще, чем случайно передать реальные
данные клиентов.
- Свои таблицы пакет угадать не может, поэтому для нестандартных сущностей с персональными или коммерчески чувствительными данными нужно добавить
собственные правила. - Проверка состава покажет, применились ли эти правила к нужным таблицам и колонкам.
- Если таблица нужна только для сохранения структуры, её можно выгрузить полностью пустой.
- Профиль prod создаёт полноценную аварийную копию без изменения данных.
- В архив попадают выбранные файлы сайта, SQL-дамп базы, манифест и контрольные суммы.
- Можно включать и исключать отдельные каталоги и таблицы.
- Поддерживаются форматы ZIP и tar.gz.
- Старые архивы автоматически удаляются по заданным правилам хранения.
- Параллельные запуски блокируются, чтобы два процесса не испортили копию.
- Результат сохраняется в истории запусков, при необходимости отправляется отчёт на почту.
- Содержимое ZIP-архива можно зашифровать с помощью AES-256.
- Пароль не попадает в манифест, историю запусков и логи пакета.
- Для CLI пароль можно передать через защищённый файл или переменную окружения, не показывая его в аргументах команды и списке процессов.
- Каталог хранения проверяется до запуска: mxBackup не позволит складывать архивы в публичную часть сайта, core, кэш или корень webroot.
- Перед восстановлением mxBackup проверяет формат архива, манифест, контрольные суммы, внутренние пути и версию MODX.
- После проверки пакет выдаёт отдельный код подтверждения.
- Непосредственно перед изменением сайта автоматически создаётся страховочная production-копия текущего состояния.
- Можно восстановить весь сайт, только файлы или только базу данных.
- В менеджере право на восстановление вынесено отдельно, поэтому его можно не выдавать пользователям, которым нужен только запуск и просмотр
истории.
- Профили prod и dev.
- Запуск из менеджера, CLI и cron.
- Архив файлов и SQL-дамп базы в одном пакете.
- Обезличивание MODX и miniShop2.
- Собственные правила для таблиц, колонок и JSON-полей.
- Предварительная проверка состава без создания архива.
- ZIP, tar.gz и AES-256.
- Ротация старых копий.
- История запусков и отчёты.
- Блокировка параллельных процессов.
- Контрольные суммы и манифест.
- Проверка и восстановление архивов.
- Автоматический страховочный бэкап перед восстановлением.
- Для разработчиков, которым регулярно присылают боевые дампы и предлагают самостоятельно убрать из них всё лишнее.
- Для владельцев сайтов, которым нужно безопасно передавать проект внешним исполнителям.
- Для команд, которым нужна всегда свежая обезличенная копия production-сайта на dev или stage.
- Для администраторов, которым нужны регулярные резервные копии MODX с понятной историей, ротацией и возможностью восстановления.




Бесплатно
mxBackup — абсолютно бесплатный пакет. Можно использовать его для обычных резервных копий, автоматически готовить обезличенные dev-архивы,
переносить профили между проектами и безопасно выдавать копии разработчикам без отдельной оплаты.
Комментарии: 0