# 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
```
