Хранилища бэкапов
Резервная копия, которая лежит только на сервере панели, пропадёт вместе с ним. Хранилище бэкапов отправляет копию каждого архива в другое место: в S3-совместимое хранилище, на SFTP-сервер или в чат Telegram. Каждый архив, который записывает панель, по расписанию или вручную в Настройки → Резервная копия, в фоне уходит в каждое включённое хранилище. Страница находится в Сервисы → Хранилища бэкапов, и настраивает её главный администратор.


Сначала задайте парольную фразу
В архиве есть все учётные данные этой панели. Без шифрования они достаются любому, кто может читать хранилище. Задайте парольную фразу резервных копий в Настройки → Резервная копия, прежде чем включать хранилище; пока её нет, страница показывает предупреждение.
Каждое хранилище — это карточка с Сервис включён, своими настройками, Проверить (проверяет сохранённые значения, поэтому сначала сохраните) и Последний запуск. После сохранения ключ или пароль больше не показывается; пустое поле сохраняет записанное значение.
S3-совместимое хранилище
Cloudflare R2, AWS S3, Backblaze B2, MinIO и любое другое хранилище, работающее по протоколу S3, включая объектные хранилища местных провайдеров.
| Параметр | |
|---|---|
| Адрес | адрес хранилища без бакета, например https://<account>.r2.cloudflarestorage.com, https://s3.<region>.amazonaws.com, https://s3.<region>.backblazeb2.com или ваш MinIO |
| Регион | пусто = us-east-1, что принимают R2 и MinIO; AWS нужен собственный регион бакета |
| Бакет | должен уже существовать |
| Ключ доступа, Секретный ключ | ключ, которому разрешены запись, просмотр списка и удаление в этом бакете |
| Папка | папка внутри бакета; пусто = его корень |
| Хранить | сколько архивов там хранить (см. Хранение) |
SFTP
Любой сервер, доступный по SSH.
| Параметр | |
|---|---|
| Хост, Порт | без схемы; пустой порт — 22 |
| Логин | |
| Пароль, Закрытый ключ | одно из двух или оба; ключ в формате PEM или OpenSSH, без парольной фразы |
| Ключ хоста | заполняется при первом подключении и проверяется при каждом следующем |
| Каталог | создаётся, если его нет; пусто = домашний каталог пользователя |
| Хранить | как для S3 |
При первом подключении панель доверяет ключу хоста сервера и после этого отклоняет любой другой ключ. Если сервер переустановлен и его ключ действительно изменился, очистите Ключ хоста и сохраните; следующее подключение запишет новый.
Архив записывается под временным именем и переименовывается после завершения, поэтому недогруженный файл никогда не выглядит как резервная копия.
Telegram
Архив приходит файлом в чат: его отправляет бот сервиса Telegram и через его прокси, поэтому сначала настройте этот сервис.
| Параметр | |
|---|---|
| ID чата | чат, привязанный к аккаунту главного администратора, по номеру, который показан под ним на странице Telegram |
Это может быть ваш личный чат или группа, привязанная к вам. В группе архив получает каждый участник, а с ним и все учётные данные панели, поэтому выбирайте группу с учётом этого.
Bot API принимает файлы до 50 МБ. Архив больше отклоняется с указанием этой причины, а не отправляется, чтобы потом не дойти; для панели с большими копиями используйте S3 или SFTP. В чате ничего не удаляется, поэтому Хранить здесь не применяется.
Файлы дополнений
Пока это хранилище включено, дополнение или ваш скрипт с правом backup:deliver может отправить свой файл в тот же чат. Панель пересылает его, не сохраняя, с подписью из имени отправителя, имени файла и размера: до 50 МБ и шести файлов в час на отправителя. Дополнение запрашивает это право с объяснением на экране согласия (см. Страница дополнений); выключение хранилища прекращает все такие отправки.
Хранение
Хранить — сколько архивов держит хранилище. Пустое поле берёт срок хранения со страницы резервных копий; 0 хранит все архивы. После каждой загрузки самые старые архивы сверх этого числа удаляются из хранилища.
Удаляются только файлы с именами как у архивов панели, поэтому в том же бакете или каталоге можно хранить и другое.
Если загрузка не удалась
Неудачная загрузка никогда не делает неудачной саму резервную копию:
- архив остаётся на сервере панели;
- Последний запуск хранилища показывает ошибку;
- отправляется событие
panel.backup_upload_failed— в Telegram, на почту и в любой вебхук, который его слушает (см. Вебхуки и события); - следующий архив отправляется как обычно.
Следите за этим событием или время от времени проверяйте Последний запуск: хранилище, которое месяц молча не работает, — это месяц резервных копий, которых у вас нет.
См. также
- Резервное копирование и восстановление: расписание, парольная фраза и восстановление.
- Telegram: бот, через которого отправляет хранилище Telegram.
- Каталог событий:
panel.backup_done,panel.backup_failedиpanel.backup_upload_failed.
