🛡️ Резервное копирование

База данных и файлы сайта уходят по расписанию - по вашим правилам

Резервное копирование - плагин для «Руководителя», который сам снимает копию базы MySQL/MariaDB и выбранных папок сайта. Архивы ложатся туда, куда вы укажете: Яндекс.Диск, Google Диск, SFTP, FTP, S3, WebDAV или локальный каталог. Если что-то пошло не так, система пишет в журнал и сообщает выбранным сотрудникам.

💡 Для владельца системы: обновление, сбой диска или случайно удалённая таблица больше не означают потерю работы компании. Копия уже лежит вне сервера, а вернуть можно не всю базу целиком, а только нужные таблицы и папки.

🎯 Что закрывает плагин

Копия по расписанию База данных и файлы уходят по вашему расписанию
Копия перед обновлением Одна кнопка - и свежий снимок перед установкой плагина или правкой структуры
Точечное восстановление Верните отдельные таблицы и папки, не откатывая всю систему
Мало места на сервере Файлы можно отправлять по одному, не собирая второй архив на диске

⚡ Возможности

База и файлы отдельно

У базы своё расписание, у файлов - своё. Частый дамп базы не затирает редкие копии документов и вложений.

Несколько заданий

Ночная копия всей базы, еженедельный архив файлов и отдельная выгрузка перед релизом - по каждому заданию можно настроить свои места сохранения копий.

Выбор, что сохранять

Отмечайте только нужные для копирования таблицы БД и файлы. Новые таблицы можно включать автоматически. Представления, процедуры, функции, триггеры и события - отдельными копиями.

Куда угодно, лишь бы ваше

Яндекс.Диск, Google Диск, SFTP, FTP/FTPS, S3-совместимое хранилище, WebDAV и каталог на сервере. Сохраняйте туда, куда вам удобно.

Фоновый процесс копирования

Создание большой копии идёт отдельным процессом и не обрывается по лимиту времени PHP. В журнале видно прогресс, копию можно отменить.

Место на диске под контролем

Файлы сайта можно отправлять по одному, без локального архива на десятки гигабайт. База пишется частями: готовая часть уходит получателю и освобождает диск.

Хранение без ручной уборки

Задайте, сколько последних копий базы и файлов держать у получателя. Старые снимки удаляются сами, актуальные остаются.

Журнал и скачивание

Каждый запуск с датой, статусом и списком файлов. Можно скачать отдельный архив или всё сразу. Если часть файлов недоступна, система покажет какие — и даст забрать остальные.

Почему это удобно в работе

  • Не нужен отдельный mysqldump и доступ к SSH: копия снимается из интерфейса системы
  • Расписание понятное: пять полей cron, готовые кнопки «каждый час», «каждый день», «каждую неделю», «каждый месяц»
  • Права делятся: настройки, ручной запуск, скачивание и восстановление можно выдать разным группам.
  • Об ошибке узнаете не спустя неделю: запись в журнале, письмо и, если установлен Мультимессенджер, сообщение в выбранные каналы
  • Восстановление выборочное: отмечаете таблицы и папки и восстанавливаете только их

🗂️ Куда уходят копии

Яндекс.Диск Авторизация кодом подтверждения, без правки Redirect URI
Google Диск Свои Client ID и Refresh token, доступ обновляется сам
SFTP и FTP Ключ или пароль, проверка отпечатка сервера для SFTP
S3 и WebDAV Облако и корпоративные хранилища с привычным доступом
Локальный каталог тоже поддерживается - для копии на другой диск того же сервера. Для внешней копии лучше диск или SFTP: тогда авария самого сервера не повлияет на информацию.

🔧 Как это устроено

  • Текущая база MySQL или MariaDB.
  • Для InnoDB используется согласованный снимок, чтобы копия не разъехалась по таблицам в середине записи
  • Структура, данные, процедуры, функции, триггеры и события лежат отдельно. Большой дамп делится на части заданного размера
  • Файлы - либо zip-архив, либо отправка каждого файла как есть. Второй режим почти не требует свободного места сверх самой копии у получателя
  • Фоновый запуск каждую минуту проверяет расписание и стартует только то, чему пришло время
  • Журнал копий: дата и время копии, статус, прогресс, скачивание и восстановление

Копия, которая уже есть, когда она понадобилась

Подключите диск, отметьте таблицы и папки, поставьте расписание - и перестаньте держать в голове, когда в последний раз выгружали базу вручную.




Интерфейс задания на резервное копирование

Окно добавления получателя копии - секреты, авторизация, проверка соединения - в одном месте.

Пример журнала копирования

Окно восстановления. Можно выбрать только нужные таблицы для восстановления.