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

4.3 KiB
Raw Blame History

Налаштування автоматичних бекапів PostgreSQL

Огляд

Цей документ описує налаштування автоматичних бекапів бази даних PostgreSQL для DAARION.

Вимоги

  • PostgreSQL 12+
  • Доступ до бази даних з правами pg_dump
  • Достатньо місця на диску для зберігання бекапів

Встановлення

1. Створити директорію для бекапів

sudo mkdir -p /var/backups/daarion
sudo chown $USER:$USER /var/backups/daarion

2. Скопіювати скрипт бекапу

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:

DB_USER=daarion
DB_NAME=daarion
BACKUP_DIR=/var/backups/daarion
RETENTION_DAYS=7

І додайте в скрипт:

source /etc/daarion-backup.conf

4. Налаштувати cron

Додати в crontab (запуск щогодини):

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. Перевірити роботу

Запустити вручну:

/usr/local/bin/backup_daarion.sh

Перевірити, що файл створився:

ls -lh /var/backups/daarion/

Відновлення з бекапу

З файлу .dump (custom format)

pg_restore -U daarion -d daarion -c /var/backups/daarion/daarion_2024-01-01_12-00.dump

З SQL файлу (якщо використовується -Fp)

psql -U daarion -d daarion < /var/backups/daarion/daarion_2024-01-01_12-00.sql

Завантаження в хмару (опціонально)

Cloudflare R2

  1. Встановити rclone:
curl https://rclone.org/install.sh | sudo bash
  1. Налаштувати R2:
rclone config
  1. Додати в скрипт бекапу:
# Upload to R2
rclone copy "$BACKUP_FILE" "r2:daarion-backups/" --config /etc/rclone.conf

AWS S3

aws s3 cp "$BACKUP_FILE" s3://daarion-backups/

Моніторинг

Перевіряти логи:

tail -f /var/log/daarion-backup.log

Налаштувати алерти при помилках (наприклад, через email або Telegram bot).

Ротація бекапів

Скрипт автоматично видаляє бекапи старіше 7 днів (за замовчуванням).

Щоб змінити період зберігання, встановіть змінну RETENTION_DAYS:

export RETENTION_DAYS=30  # Зберігати 30 днів

Розмір бекапів

Типовий розмір бекапу для DAARION MVP: 10-50 MB (залежить від кількості даних).

Для бази з 1000 агентів та 10000 повідомлень: ~20-30 MB.

Безпека

  • Бекапи містять чутливі дані
  • Обмежити доступ до директорії бекапів: chmod 700 /var/backups/daarion
  • Шифрувати бекапи перед завантаженням в хмару
  • Не зберігати бекапи в публічних місцях

Troubleshooting

Помилка "permission denied"

Перевірити права доступу до директорії:

ls -ld /var/backups/daarion

Помилка "pg_dump: command not found"

Додати PostgreSQL bin до PATH або використати повний шлях:

/usr/bin/pg_dump -U daarion -Fc daarion > ...

Недостатньо місця на диску

Перевірити вільне місце:

df -h /var/backups

Очистити старі бекапи вручну:

find /var/backups/daarion -type f -mtime +7 -delete