# Backup & Restore Sichert den **nicht wiederherstellbaren Zustand** der AI-Box. Code kommt aus Git, Modelle sind neu ladbar — gesichert wird nur, was sonst weg wäre. ## Was im Backup ist - **Gedächtnis:** `/srv/models/mem0/` (Chroma-Vektoren + `history.db`) - **Hermes:** `~/.hermes/config.yaml`, `~/.hermes/.env` (**Secrets!**), `~/.hermes/plugins/` - **Engine:** `/etc/llama-swap/config.yaml` Nicht enthalten (bewusst): GGUF-Modelle, MC2-Code (Git), venvs, systemd-Units (aus `deploy.sh`). Jedes Backup ist ein Tarball `mc2-state-.tar.gz` unter `/srv/models/mc2-backups/`, `chmod 600` (enthält `.env`). Es werden die letzten **14** behalten. > ⚠️ Das Tarball enthält Secrets und liegt aktuell auf **derselben Platte** wie die Daten. > Für echten Desaster-Schutz noch eine Off-Box-Kopie einrichten (PBS / rsync). Siehe „Offen". ## Backup erstellen - **Automatisch:** systemd-Timer `mc2-backup.timer`, täglich ~03:30. Status: `systemctl --user list-timers mc2-backup.timer` - **Manuell (Box):** `bash ~/mission-control-v2/deploy/backup.sh` - **UI:** Wartungs-Drawer → „Snapshot erstellen" ## Wiederherstellen (Restore) Restore läuft **nur per CLI auf der Box** (bewusst — er stoppt Dienste und überschreibt Configs). Vor dem Zurückspielen macht das Skript automatisch ein Sicherheits-Backup des aktuellen Zustands. ```bash cd ~/mission-control-v2 bash deploy/restore.sh --list # vorhandene Backups anzeigen bash deploy/restore.sh --dry-run latest # zeigen, was passieren würde bash deploy/restore.sh latest # neuestes wiederherstellen (mit Rückfrage) bash deploy/restore.sh mc2-state-YYYYMMDD-HHMMSS.tar.gz # bestimmtes Backup ``` Ablauf: Sicherheits-Backup → Dienste stoppen (`mem0-service`, `mission-control-2`, `hermes-gateway`) → Dateien zurückspielen (mem0 wird **ersetzt**, Configs überschrieben) → Dienste starten → Health-Check. Ein Backup von einer **anderen** Maschine zurückspielen: Tarball nach `/srv/models/mc2-backups/` kopieren, dann `restore.sh `. ## Offen / TODO - **Off-Box-Spiegel** (Schicht 2): Box ist Bare Metal (kein Proxmox-Gast → kein vzdump). Saubere Wege: Proxmox Backup Server + `proxmox-backup-client` ODER rsync in einen vzdump-gesicherten LXC. Noch nicht eingerichtet.