Система резервного копирования

Скрипт

  • Путь: /home/claude/bin/backup-all.sh
  • Расписание: ежедневно 03:30 (systemd timer)
  • Шифрование: GPG symmetric, AES256
  • Passphrase: в Bitwarden

Что бекапится

ТипЧтоКуда
Проекты (корень)все ~/*/ кроме excluded/home/claude/backups/projects/<name>/
Проекты (projects/)все ~/projects/*//home/claude/backups/projects/projects__<name>/
Postgresвсе БД в coreclaw-postgres/home/claude/backups/postgres/
Dotfiles.config/systemd, ~/.claude, bin, CLAUDE.md и др./home/claude/backups/home/
Docker volumesopen-webui-data/home/claude/backups/docker-volumes/
Offsiteвсё выше → homepc через TailscaleH:/Backups/forge/

Исключённые директории

backups, coreclaw-workspace, restore, projects (сканируется отдельно через projects/*/)

Исключения из tar

.venv, node_modules, __pycache__, *.pyc, .git
logs, *.log, dist, build, .next, .cache
tmp, *.tmp, qdrant-data  ← qdrant данные не нужны (переиндексируем из vault)

Исключённые директории (не бекапятся)

backups, coreclaw-workspace, restore

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

  1. Получить passphrase из Bitwarden
  2. gpg -d backup.tar.gz.gpg | tar xz
  3. Для Qdrant: запустить systemctl --user restart dbrain-rag-indexer — переиндексирует vault

Мониторинг

  • Marker file: /home/claude/backups/.last-success
  • Лог: /home/claude/backups/backup.log
  • Retention: 30 дней
  • homepc retention: 30 дней (PowerShell скрипт)