Download the PHP package larikmc/yii2-db-backup without Composer
On this page you can find all versions of the php package larikmc/yii2-db-backup. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download larikmc/yii2-db-backup
More information about larikmc/yii2-db-backup
Files in larikmc/yii2-db-backup
Package yii2-db-backup
Short Description Low-load MySQL/MariaDB backup module for Yii2 with async web trigger and console worker.
License MIT
Informations about the package yii2-db-backup
larikmc/yii2-db-backup
Переиспользуемый модуль бэкапа MySQL/MariaDB для Yii2:
- запуск из web (
POST /dbbackup/backup/start) - выполнение в фоне через console worker
- щадящий dump (
--single-transaction --quick --skip-lock-tables) .sql.gz, checksum, manifest, lock от параллельного запуска, ротация
Установка
Добавьте пакет в composer.json проекта (path repo или git):
Затем:
Конфигурация
Подключите модуль в web и console приложениях под ID dbbackup.
Готовая вставка для backend/config/main.php
Готовая вставка для console/config/main.php
Пример backend (web)
Пример console
Разные dumpBinary для локалки и прода
И в модуле:
Хранилище (таблица backup_job)
По умолчанию таблица создается автоматически при первом запуске (autoCreateTable = true).
Если хотите управлять схемой только через миграции:
- отключите автосоздание:
'autoCreateTable' => false - примените миграцию
larikmc\yii2dbbackup\migrations\m260216_000001_create_backup_job_table
API
GET /dbbackup/backup/index— встроенная web-страница управленияPOST /dbbackup/backup/start— создать и запустить задачуGET /dbbackup/backup/status?id=...— статус одной задачиGET /dbbackup/backup/list?limit=50— список задачGET /dbbackup/backup/download?id=...— скачать.sql.gzPOST /dbbackup/backup/delete?id=...— удалить задачу и файл
index отдает HTML-страницу, download отдает файл, служебные endpoints возвращают JSON.
Ссылка в админке (готовый HTML)
Если админка одинаковая на всех проектах, можно вставить ссылку прямо в шаблон меню.
Вариант 1: простая ссылка
Вариант 2: под ваш sidebar-стиль (полный блок с submenu)
Если хотите URL вида /admin/db-backup/index
Добавьте правило в urlManager backend:
Тогда ссылка будет:
Примечания
- Для Linux используются
nice/ionice(если доступны). - Если
gzipbinary отсутствует, включается fallback: dump в.sqlи потоковое сжатие черезzlib. - Имя файла включает домен:
example_com_YYYYmmdd_HHMMSS_jN.sql.gz. - Лог конкретной задачи пишется в
@runtime/logs/db-backup-{jobId}.log.