diff --git a/betrieb/backups.md b/betrieb/backups.md new file mode 100644 index 0000000..03cc8e6 --- /dev/null +++ b/betrieb/backups.md @@ -0,0 +1,24 @@ +--- +title: Backups +description: Nächtliche Borg-Backups auf die Storage Box +published: true +date: 2026-08-13T20:27:27.526Z +tags: +editor: markdown +dateCreated: 2026-08-13T20:27:27.526Z +--- + +Nächtliche **Borg-Backups** auf eine **Hetzner Storage Box**. Was in git liegt (Wiki-Inhalt, GitOps-Definitionen), ist ohnehin versioniert — die Backups sichern den **Laufzeit-Zustand** (Datenbanken, Medien). + +## Jobs +| CronJob | Zeit | Inhalt | +|---|---|---| +| `synapse-backup` | 03:00 | Synapse- + MAS-Postgres + Synapse-`media_store` | +| `authentik-backup` | 03:15 | Authentik-Postgres | +| `wikijs-backup` | 03:30 | Wiki.js-Postgres (Kommentare, Konten, Suchindex) | + +Alle nutzen dasselbe Image (`axion-backup`), je einen eigenen Borg-Repo-Pfad + Passphrase und versetzte Zeitpläne. SSH-Key und Passphrase liegen SOPS-verschlüsselt (`*-backup-credentials`). + +## Prüfen / Wiederherstellen +- Manueller Testlauf: `kubectl create job --from=cronjob/ -test -n `. +- Restore: Borg-Archiv aus der Storage Box holen und die DB (bzw. `media_store`) zurückspielen.