Содержание

Резервное копирование в Backblaze с помощью Kopia

Установка и настройка Kopia в Alpine Linux для резервного копирования в корзину Backblaze B2.

Подключаем репозиторий со свежей версией Kopia:

shell-session

# echo 'https://aplus.smthd.com/main/3.18/stable' \
>> /etc/apk/repositories

Добавляем публичный ключ цифровой подписи:

shell-session

# echo \
'-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAusMxjJgjZjf1Nhd0azRc
sEi/5tgENwqsojY5kcU/SJyfLNA0M1Z/lHA5iYmNjdyR/AvH9SaQTHokK5D8BiGl
/qQrSV0SenTDNuI7as6Oh0X5JQlZnf/fPNNKx6QPzhpJnSAA3JhEVWobJHGIdjoq
RyFnuC+OLPk71vclRB7I8m9QgD9qiTq8glxAX1s7v19g+y4FRxIN7v14oISTL0XR
FDL0zprm6WXN5qOWMNDWzHjqT1iVe0wBiEP8Hs7XqxNWWUCnW6c0kipISyY6XlHZ
2/gSl4EDArFykGGR6nXvQMGYgiABM9FjqrAO2QssP2tpn7PB580JpK6lMPBkmLC4
1QIDAQAB
-----END PUBLIC KEY-----
' > /etc/apk/keys/aplus.rsa.pub

Устанавливаем пакеты:

shell-session

# apk add kopia kopia-openrc

В файле /etc/conf.d/kopia делаем необходимые изменения:

  • Устанавливаем пароль администратора в SERVER_PASSWORD;
  • Задаём интервал обновления статуса репозитория в REFRESH_INTERVAL.

Последнее нужно выставить в несколько часов — 6h подойдёт. Это нужно, чтобы не упираться в лимиты по запросам в Backblaze.

Запускаем сервис и активируем автозагрузку:

shell-session

# rc-service kopia start
# rc-update add kopia
  1. Идём в панель управления и создаём “ведёрко”. В Lifecycle Settings выключаем версионирование — выбираем Keep only the last version of the file.
  2. Создаём API-ключ, запоминаем: Backblaze add new application key Backblaze new application key

Заходим в панель администрирования, по умолчанию — http://localhost:51515. Выбираем Backblaze B2.

Вводим параметры доступа к корзине Backblaze: Kopia storage configuration

Задаём пароль репозитория и создаём его: Kopia new repo

Интервалы обслуживания репозиторя настраиваются командами:

shell-session

# su kopia -s /bin/ash -c \
'kopia --config-file=/etc/kopia/repository.config maintenance set --quick-interval=24h'

# su kopia -s /bin/ash -c \
'kopia --config-file=/etc/kopia/repository.config maintenance set --full-interval=72h'

# su kopia -s /bin/ash -c \
'kopia --config-file=/etc/kopia/repository.config maintenance info'

На главном экране жмём New Snapshot. Выбираем каталог, задаём раписание и остальные настройки. Создаём бэкап и политику: Kopia new snapshot

Если нужно выполнить скрипты до или после создания резервной копии, то в первую очередь включаем действия — добавляем строку в /etc/kopia/repository.config:

json

    "enableActions": true,

затем добавляем команды в политику:

shell-session

# su kopia -s /bin/ash -c \
'kopia --config-file=/etc/kopia/repository.config  policy set --before-folder-action "/usr/bin/before.sh script-arg-1 script-arg-2" "kopia@kopia:/var/lib/kopia"'

После внесения правок в политику перезагружаем сервис:

shell-session

rc-service kopia restart
Предупреждение
*-folder-action и *-folder-action работают только при резервном копировании каталогов. Следовательно, в политике должен быть указан путь к директории, а не файлу.
  1. Alpine Plus repo
  2. Kopia server start
  3. Kopia maintenance
  4. Action under Windows
  5. Cannot use actions with Kopia Server?
  6. High volume of B2 class C transactions, “Periodic maintenance” task?
  7. Creating a B2 Bucket using the Web UI
  8. Application Keys