This commit is contained in:
talorr
2026-03-27 03:36:08 +03:00
parent 8a97ce6d54
commit cda36918e8
225 changed files with 35641 additions and 0 deletions

49
docs/BACKUP.md Normal file
View File

@@ -0,0 +1,49 @@
# PostgreSQL Auto Backup
В проект добавлен сервис `postgres-backup` в [docker-compose.yml](/C:/Users/vlad/Documents/Projects/alpinbet-parser/docker-compose.yml).
Что делает сервис:
- по расписанию запускает `pg_dump` основной БД
- при `BACKUP_INCLUDE_CHAT_DB=true` также архивирует chat-БД
- сохраняет архивы в папку `./backups`
- удаляет архивы старше `BACKUP_RETENTION_DAYS`
Настройки в `.env`:
```env
BACKUP_TZ=Europe/Moscow
BACKUP_INTERVAL_SECONDS=86400
BACKUP_RETENTION_DAYS=7
BACKUP_GZIP_LEVEL=6
BACKUP_INCLUDE_CHAT_DB=true
```
Запуск:
```bash
docker compose up -d postgres-backup
```
Проверка логов:
```bash
docker compose logs --tail=100 postgres-backup
```
Проверка архивов:
```bash
ls -lah backups
```
Имена файлов:
- `backups/main_YYYY-MM-DD_HH-MM-SS.sql.gz`
- `backups/chat_YYYY-MM-DD_HH-MM-SS.sql.gz`
Ручной backup при необходимости:
```bash
docker compose exec -T postgres pg_dump -U "$POSTGRES_USER" -d "$POSTGRES_DB" | gzip > backups/manual_$(date +%F_%H-%M-%S).sql.gz
```