Введение 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 утра.