Резервное копирование в Backblaze с помощью Kopia
Установка и настройка Kopia в Alpine Linux для резервного копирования в корзину Backblaze B2.
Установка и конфигурация Kopia
Подключаем репозиторий со свежей версией Kopia:
# echo 'https://aplus.smthd.com/main/3.18/stable' \
>> /etc/apk/repositories
Добавляем публичный ключ цифровой подписи:
# 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
Устанавливаем пакеты:
# apk add kopia kopia-openrc
В файле /etc/conf.d/kopia делаем необходимые изменения:
- Устанавливаем пароль администратора в
SERVER_PASSWORD; - Задаём интервал обновления статуса репозитория в
REFRESH_INTERVAL.
Последнее нужно выставить в несколько часов — 6h подойдёт. Это нужно, чтобы не упираться в лимиты по запросам в Backblaze.
Запускаем сервис и активируем автозагрузку:
# rc-service kopia start
# rc-update add kopia
Подготовка Backblaze
- Идём в панель управления и создаём “ведёрко”. В Lifecycle Settings выключаем версионирование — выбираем Keep only the last version of the file.
- Создаём API-ключ, запоминаем:

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

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

Интервалы обслуживания репозиторя настраиваются командами:
# 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'
Создание резервной копии в Kopia
На главном экране жмём New Snapshot. Выбираем каталог, задаём раписание и остальные настройки. Создаём бэкап и политику:

Если нужно выполнить скрипты до или после создания резервной копии, то в первую очередь включаем действия — добавляем строку в /etc/kopia/repository.config:
"enableActions": true,
затем добавляем команды в политику:
# 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"'
После внесения правок в политику перезагружаем сервис:
rc-service kopia restart
*-folder-action и *-folder-action работают только при резервном копировании каталогов. Следовательно, в политике должен быть указан путь к директории, а не файлу.