init
This commit is contained in:
49
docs/BACKUP.md
Normal file
49
docs/BACKUP.md
Normal 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
|
||||
```
|
||||
Reference in New Issue
Block a user