Skip to content

Хранилища бэкапов ​

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

Страница хранилищ бэкапов: три карточки сервисов — S3-совместимое хранилище, SFTP-сервер и TelegramСтраница хранилищ бэкапов: три карточки сервисов — 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, на почту и в любой вебхук, который его слушает (см. Вебхуки и события);
  • следующий архив отправляется как обычно.

Следите за этим событием или время от времени проверяйте Последний запуск: хранилище, которое месяц молча не работает, — это месяц резервных копий, которых у вас нет.

Текст и изображения — CC BY 4.0.