Обновить vaultwarden/README.backuper.md

This commit is contained in:
2026-04-15 18:01:16 +00:00
parent 267309341d
commit d17183a47e

View File

@@ -1,72 +1,108 @@
# Vaultwarden Backuper
Автоматический скрипт для резервного копирования Vaultwarden, архивации данных и отправки бэкапа в Telegram.
## Возможности
- Запускает резервное копирование через `/vaultwarden backup`
- Архивирует каталог `/data`
- Отправляет архив** в Telegram через бота по ID пользователя
- Автоматически удаляет архив и старые файлы `/data/db_*`
- Проверяет зависимости (`curl`, `tar`, `date`) и при необходимости устанавливает их (поддерживаются все популярные дистрибутивы, если запущено от root)
## Использование
1. **Создайте Telegram-бота и получите токен**
Создайте бота через [@BotFather](https://t.me/BotFather), получите ваш `"token"`.
2. **Узнайте свой user_id**
Получить свой user_id можно с помощью бота [@userinfobot](https://t.me/userinfobot) или аналогичного.
3. **Запустите скрипт:**
```sh
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID>
```
**Пример:**
```sh
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 --user_id 987654321
```
## Параметры
- `--token` — токен Telegram-бота
- `--user_id` — ваш Telegram `user_id`, куда отправлять резервные копии
## Требования
- Скрипт должен запускаться с root-правами (или через `sudo`), чтобы при необходимости автоматически устанавливать зависимости.
- Требуются установленные бинарники: `curl`, `tar`, `date`
- Vaultwarden должен уметь выполнять резервное копирование командой `/vaultwarden backup`
- Каталог `/data` должен содержать резервируемую базу и быть доступен для архивации
## Автоматическая установка утилит
Скрипт самостоятельно определяет используемый пакетный менеджер (`apk`, `apt`, `dnf`, `yum`, `zypper`, `pacman`) и устанавливает недостающ<D18E><D189>е утилиты, если запущен от root.
## Важно
- Для Docker-контейнеров рекомендуется включить необходимые утилиты (`curl`, `tar`, `date`) в образ при сборке.
- Скрипт удаляет архив бэкапа и файлы `/data/db_*` сразу после успешного завершения всех операций.
Удобный скрипт для создания резервной копии Vaultwarden, архивации данных и отправки бэкапа в Telegram.
---
## English (short)
## Возможности
**Vaultwarden automatic backup script with Telegram delivery.**
Run as root or with `sudo`:
- Запускает `/vaultwarden backup`
- Архивирует каталог `/data`
- Отправляет архив в Telegram пользователю по `user_id`
- Очищает временный архив и файлы `/data/db_*`
- Проверяет и при необходимости устанавливает зависимости (`curl`, `tar`, `date`)
- Поддержка установки зависимостей: автоматическая (в Docker режиме всегда, на обычной системе — если запущен с правами root)
- Гибкий режим запуска: обычная система (`host`) или контейнер (`docker`)
```
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID>
---
## Использование
### Обычный сервер (host)
- **Запуск с правами `root` (рекомендуется использовать `sudo`):**
```sh
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID> --mode host
```
- Performs vaultwarden backup, archive and send to Telegram.
- Installs required utilities if needed (if root).
- Cleans up backup archive and `/data/db_*`.
**Параметр `--mode host` по умолчанию**, можно не указывать.
---
### Docker-контейнер
- **В Docker-контейнере (обычно уже root, `sudo` не нужен):**
```sh
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | bash -s -- --token <TOKEN> --user_id <USER_ID> --mode docker
```
---
## Параметры скрипта
- `--token` — токен Telegram-бота (узнайте у [@BotFather](https://t.me/BotFather))
- `--user_id` — ваш Telegram `user_id` (узнайте через [@userinfobot](https://t.me/userinfobot))
- `--mode` — режим запуска:
- `host` — обычный сервер (с root или sudo), по умолчанию
- `docker` — контейнер Docker, чтобы гарантировать отсутствие вызова sudo и немедленную установку утилит
---
## Требования
- Vaultwarden должен поддерживать команду `/vaultwarden backup`
- Каталог `/data` должен содержать данные для архивации
- Необходимы утилиты: `curl`, `tar`, `date` — скрипт установит их автоматически, если возможно и нужные права есть
### В случае Docker
Рекомендуется при сборке container-образа явно включить зависимости, например, для Alpine:
```dockerfile
RUN apk add --no-cache curl tar
```
Для Debian/Ubuntu:
```dockerfile
RUN apt-get update && apt-get install -y curl tar
```
---
## Пример использования
```sh
# Host (server)
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token 123:ABC --user_id 987 --mode host
# Docker
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | bash -s -- --token 123:ABC --user_id 987 --mode docker
```
---
## English
**Vaultwarden backup script with archive and Telegram delivery.**
- Launch on server as root/sudo (`--mode host`) or inside Docker as root (`--mode docker`)
- Installs dependencies automatically if needed
**Usage:**
```sh
# Host (with sudo)
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | sudo bash -s -- --token <TOKEN> --user_id <USER_ID> --mode host
# Docker (no sudo)
curl -fsSL https://gitea.creative-tg1.ru/CREATIVE_tg1/for-servers/raw/branch/main/vaultwarden/backuper.sh | bash -s -- --token <TOKEN> --user_id <USER_ID> --mode docker
```
---
## Лицензия
MIT (или укажите свою)
MIT