Files
microdao-daarion/docs/BACKUP_SETUP.md
Apple fca48b3eb0 feat(node2): Complete NODE2 setup - guardian, agents, swapper models
- Node-guardian running on MacBook and updating metrics
- NODE2 agents (Atlas, Greeter, Oracle, Builder Bot) assigned to node-2-macbook-m4max
- Swapper models displaying correctly (8 models)
- DAGI Router agents showing with correct status (3 active, 1 stale)
- Router health check using node_cache for remote nodes
2025-12-02 07:07:58 -08:00

188 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Налаштування автоматичних бекапів PostgreSQL
## Огляд
Цей документ описує налаштування автоматичних бекапів бази даних PostgreSQL для DAARION.
## Вимоги
- PostgreSQL 12+
- Доступ до бази даних з правами `pg_dump`
- Достатньо місця на диску для зберігання бекапів
## Встановлення
### 1. Створити директорію для бекапів
```bash
sudo mkdir -p /var/backups/daarion
sudo chown $USER:$USER /var/backups/daarion
```
### 2. Скопіювати скрипт бекапу
```bash
sudo cp scripts/backup_postgres.sh /usr/local/bin/backup_daarion.sh
sudo chmod +x /usr/local/bin/backup_daarion.sh
```
### 3. Налаштувати змінні оточення (опціонально)
Якщо потрібно змінити параметри за замовчуванням, створіть файл `/etc/daarion-backup.conf`:
```bash
DB_USER=daarion
DB_NAME=daarion
BACKUP_DIR=/var/backups/daarion
RETENTION_DAYS=7
```
І додайте в скрипт:
```bash
source /etc/daarion-backup.conf
```
### 4. Налаштувати cron
Додати в crontab (запуск щогодини):
```bash
crontab -e
```
Додати рядок:
```
0 * * * * /usr/local/bin/backup_daarion.sh >> /var/log/daarion-backup.log 2>&1
```
Або для запуску щодня о 2:00 ночі:
```
0 2 * * * /usr/local/bin/backup_daarion.sh >> /var/log/daarion-backup.log 2>&1
```
### 5. Перевірити роботу
Запустити вручну:
```bash
/usr/local/bin/backup_daarion.sh
```
Перевірити, що файл створився:
```bash
ls -lh /var/backups/daarion/
```
## Відновлення з бекапу
### З файлу .dump (custom format)
```bash
pg_restore -U daarion -d daarion -c /var/backups/daarion/daarion_2024-01-01_12-00.dump
```
### З SQL файлу (якщо використовується -Fp)
```bash
psql -U daarion -d daarion < /var/backups/daarion/daarion_2024-01-01_12-00.sql
```
## Завантаження в хмару (опціонально)
### Cloudflare R2
1. Встановити rclone:
```bash
curl https://rclone.org/install.sh | sudo bash
```
2. Налаштувати R2:
```bash
rclone config
```
3. Додати в скрипт бекапу:
```bash
# Upload to R2
rclone copy "$BACKUP_FILE" "r2:daarion-backups/" --config /etc/rclone.conf
```
### AWS S3
```bash
aws s3 cp "$BACKUP_FILE" s3://daarion-backups/
```
## Моніторинг
Перевіряти логи:
```bash
tail -f /var/log/daarion-backup.log
```
Налаштувати алерти при помилках (наприклад, через email або Telegram bot).
## Ротація бекапів
Скрипт автоматично видаляє бекапи старіше 7 днів (за замовчуванням).
Щоб змінити період зберігання, встановіть змінну `RETENTION_DAYS`:
```bash
export RETENTION_DAYS=30 # Зберігати 30 днів
```
## Розмір бекапів
Типовий розмір бекапу для DAARION MVP: 10-50 MB (залежить від кількості даних).
Для бази з 1000 агентів та 10000 повідомлень: ~20-30 MB.
## Безпека
- Бекапи містять чутливі дані
- Обмежити доступ до директорії бекапів: `chmod 700 /var/backups/daarion`
- Шифрувати бекапи перед завантаженням в хмару
- Не зберігати бекапи в публічних місцях
## Troubleshooting
### Помилка "permission denied"
Перевірити права доступу до директорії:
```bash
ls -ld /var/backups/daarion
```
### Помилка "pg_dump: command not found"
Додати PostgreSQL bin до PATH або використати повний шлях:
```bash
/usr/bin/pg_dump -U daarion -Fc daarion > ...
```
### Недостатньо місця на диску
Перевірити вільне місце:
```bash
df -h /var/backups
```
Очистити старі бекапи вручну:
```bash
find /var/backups/daarion -type f -mtime +7 -delete
```