logo

Введение Link to heading

Как вы знаете я использую DietPi и на нем у меня развернут Vaultwarden.

В той статье я описывал общий способ развёртывания Vaultwarden, не привязанный к DietPi. Однако в DietPi всё гораздо проще — Vaultwarden можно установить через официальный установщик.

Общий план бэкапа Link to heading

В теории процесс резервного копирования довольно прост:

— Остановить сервис Vaultwarden

— Скопировать файл db.sqlite3

— Скопировать папки attachments и sends (если используете вложения и отправку файлов)

— Скопировать vaultwarden.env (на всякий случай)

— Заархивировать эти данные с паролем

— Загрузить архив в облако с помощью rclone

— Запустить Vaultwarden обратно

Данный пост буду писать про бекапирование на DietPi. Так как я ленив, скорее всего это будет просто и “в три строчки” (ну почти).

Подготовка скрипта для бекапа Link to heading

— создаем файл nano /root/scripts/vaultwardenbackup.sh в вашем любимом редакторе и копируем в него содержание моего файла vaultwardenbackup.sh

— создаем файл с настройками работы скрипта nano /root/scripts/vaultwardenbackup.env

SECRET_KEY=passwordqwerty123
OUTPUT=vaultwarden_backup.zip
RCLONE_SERVICES=yandex
RCLONE_FOLDER=backupdromserver/dbvaultwarden

Пояснение к файлу настроек:

SECRET_KEY = пароль для вашего архива с бекапами

OUTPUT = имя архива с вашим бекапом

RCLONE_SERVICES = название облачноно сервиса для бакапа в rclone

RCLONE_FOLDER = Название папки в облачном сервисе

Отправка уведомлений в Telegram (опционально) Link to heading

Скрипт может отправлять уведомления в Telegram. Для этого:

Создаём бота Link to heading

Открываем @BotFather, создаём бота и сохраняем API Token.

Узнаём chat_id Link to heading

— Напишите боту /start

— Перейдите по ссылке в браузере:

https://api.telegram.org/bot<API_TOKEN>/getUpdates

(замените <API_TOKEN> на свой токен бота, сохраненный ранее)

В ответе будет JSON, где ищем:

"chat": {
  "id": 987654321,
  ...
}

Это и есть TELEGRAM_CHAT_ID.

— Добавляем переменные TELEGRAM_BOT_TOKEN и TELEGRAM_CHAT_ID в /root/scripts/vaultwardenbackup.env

TELEGRAM_BOT_TOKEN=987654321:QWERTYUIO-ASDFGHJKlzx
TELEGRAM_CHAT_ID=987654321

Добавляем в cron ваш скрипт Link to heading

— Делаем скрипт исполняемым chmod +x /root/scripts/vaultwardenbackup.sh

— Выполняем комманду crontab -e

— Добавляем строку 0 8 * * * /root/scripts/vaultwardenbackup.sh

Данный скрипт будет выполняется каждый день в 8 утра.