Хранение резервных копий вне сервера
Резервная копия, которая лежит на том же сервере, что и сайт, при отказе этого сервера не поможет. Поэтому каждый архив сначала создаётся локально и затем может быть передан во внешнее целевое хранилище — автоматически после каждого запуска или по нажатию кнопки.
Какие есть места назначения
- FTP / SFTP — настоящая передача через PHP-расширение ftp или соответственно ssh2; карточка показывает, есть ли оба на сервере
- Amazon S3 и S3-совместимые сервисы — подпись по AWS Signature Version 4; согласно карточке, с этим работают также MinIO, Wasabi, Backblaze B2 и BunnyCDN
- Google Drive — через собственный проект Google и настоящий OAuth-2.0-поток с областью drive.file
- Все три стоят в разделе «Хранилище», вместе с показом локального запаса
Настроить место назначения S3
- В «Kakapo Backup» путь ведёт слева в разделе «Конфигурация» к пункту «Хранилище».
- Нажми в карточке «Amazon S3 & S3-совместимые» на «Сохранить доступ» и внеси «Ключ доступа (Access Key ID)» и «Секретный ключ (Secret Access Key)».
- Заполни «Bucket» и «Регион»; «Prefix» определяет подпапку в bucket, пусто означает корень bucket.
- Для S3-совместимого сервиса дополнительно указывается «Конечная точка», а для сервисов на собственном хостинге обычно включается «Адресация Path-Style».
- Нажми на «Проверить соединение» — при этом загружается небольшой тестовый файл и снова удаляется.
- Включи «Цель S3 активна» и, если каждый новый архив должен уходить сам собой, дополнительно «Автоматически загружать после каждой резервной копии».
Подключить Google Drive
- «Подключение в один клик» отмечено в карточке как «недоступно», потому что для этого понадобился бы посреднический сервис, который не входит в плагин
- В режиме Self-Hosted в Google Cloud Console создаётся проект, включается Google Drive API и создаётся OAuth-Client-ID типа веб-приложения
- Адрес, который нужно указать там в качестве авторизованного URI перенаправления, приведён в карточке открытым текстом
- Client-ID и Client-Secret задаются через «Сохранить доступ»; после этого появляется кнопка «Подключить к Google Drive»
- «ID папки (необязательно)» задаёт целевую папку, пусто означает размещение в «Мой диск»
- После подключения появляются переключатели «Цель Drive активна» и «Автоматически загружать после каждой резервной копии»
К разделу хранения относятся ещё две карточки: «Ограничение полосы» ограничивает скорость загрузки через «Лимит в KB/s», причём 0 означает отсутствие ограничения. «Cold Storage Tiering» переводит более старые объекты S3 копированием с новым классом хранения на более дешёвый тариф, управление идёт через «Возраст в днях» и «Целевой класс хранения»; без активной цели S3 карточка остаётся заблокированной, а для Google Drive этого нет. Объекты в GLACIER или DEEP_ARCHIVE поставщик должен перед восстановлением сначала разморозить, плагин этого не делает. Если на сервере нет PHP-cURL, загрузки в S3 возможны только до 24 MB.