И вот, пришлось быстро сделать такой вот плагин, который закрывает эту задачу наилучшим образом.
И ваши файлы с моим плагином будут в безопасности.
Дальше - описание сделал через ИИ, потому что так быстрее
База данных и файлы сайта уходят по расписанию - по вашим правилам
Резервное копирование - плагин для Руководителя, который сам снимает копию базы MySQL/MariaDB и выбранных папок сайта. Архивы ложатся туда, куда вы укажете: Яндекс.Диск, Google Диск, SFTP, FTP, S3, WebDAV или папка на сервере. Если копирование не удалось, запись появляется в журнале, а выбранные сотрудники получают письмо. При установленном Мультимессенджере - ещё и сообщение в выбранные каналы.
Что закрывает плагинДля владельца системы. Обновление, сбой диска или случайно удалённая таблица больше не означают потерю работы компании. Копия уже лежит вне сервера, а вернуть можно отдельные таблицы и папки.
- Копия по расписанию. У базы своё расписание, у файлов - своё.
- Копия перед обновлением. Одна кнопка - и свежий снимок перед установкой плагина или правкой структуры.
- Точечное восстановление. Отдельные таблицы и папки, без отката всей системы.
- Мало места на сервере. Файлы можно отправлять по одному, без второго архива на десятки гигабайт.
- Несколько заданий. Ночная копия всей базы, еженедельный архив файлов и отдельная выгрузка перед релизом - у каждого задания свои получатели.
- Выбор, что сохранять. Нужные таблицы и папки. Новые таблицы можно включать автоматически. Представления, процедуры, функции, триггеры и события сохраняются отдельно.
- Куда угодно. Яндекс.Диск, Google Диск, SFTP, FTP/FTPS, S3-совместимое хранилище, WebDAV и каталог на сервере.
- Фоновый процесс. Большая копия идёт отдельным процессом и не обрывается по лимиту времени PHP. В журнале виден прогресс, запуск можно отменить.
- Место на диске. Файлы сайта уходят по одному. База пишется частями: готовая часть отправляется получателю и освобождает диск.
- Хранение без ручной уборки. Задаёте, сколько последних копий базы и файлов держать. Старые снимки удаляются сами.
- Журнал и скачивание. Дата, статус и список файлов. Можно скачать один архив или всё сразу. Если часть файлов недоступна, плагин покажет какие и даст забрать остальные.
- Копия снимается из интерфейса системы, без отдельного mysqldump и без доступа по SSH.
- Расписание из пяти полей cron и готовые кнопки: каждый час, каждый день, каждую неделю, каждый месяц.
- Права разделены: настройки, ручной запуск, скачивание и восстановление можно выдать разным группам.
- Для InnoDB снимается согласованный снимок, чтобы копия не разъехалась по таблицам в середине записи.
- Структура, данные и объекты базы лежат отдельно. Большой дамп делится на части заданного размера.
- Яндекс.Диск - авторизация кодом подтверждения.
- Google Диск - свои Client ID и Refresh token, доступ обновляется сам.
- SFTP и FTP - ключ или пароль, для SFTP проверяется отпечаток сервера.
- S3 и WebDAV - облако и корпоративные хранилища.
- Папка на сервере - копия на другой диск того же сервера. Для защиты от аварии самого сервера лучше внешний диск или SFTP.
Подключите диск, отметьте таблицы и папки, поставьте расписание - и перестаньте держать в голове, когда в последний раз выгружали базу вручную.
Подробнее о плагине:
https://helper.erpformula.ru/public/pag ... MYWO0sRX-k
Скриншоты интерфейса:
