# Backup & Rollback Guide **Stand:** 2025-11-07 **Status:** Vollständige Dokumentation der Backup- und Rollback-Strategie --- ## Übersicht Dieses Dokument erklärt die Backup- und Rollback-Strategie für das Deployment. Backups werden automatisch erstellt und können für Rollbacks verwendet werden. **📖 Verwandte Dokumentation:** - [Deployment Commands](./deployment-commands.md) - Command-Referenz - [Application Stack Deployment](../reference/application-stack.md) - Detaillierter Ablauf --- ## Backup-Strategie ### Backup-Playbook **Datei:** `deployment/ansible/playbooks/backup.yml` **Zweck:** Erstellt vollständige Backups aller kritischen Daten **Backup-Ziele:** - ✅ PostgreSQL Datenbanken (Production + Staging) - ✅ Application Code (Git Repository) - ✅ Application Storage (Logs, Cache, etc.) - ✅ Gitea Data - ✅ Docker Registry Images (optional) ### Backup ausführen **Mit Test-Script (Empfohlen):** ```bash cd /home/michael/dev/michaelschiemer ./deployment/scripts/test-backup.sh ``` **Manuell:** ```bash cd deployment/ansible ansible-playbook -i inventory/production.yml \ playbooks/backup.yml \ --vault-password-file secrets/.vault_pass ``` **Mit Optionen:** ```bash # Nur PostgreSQL Backup ansible-playbook -i inventory/production.yml \ playbooks/backup.yml \ -e "backup_postgresql=true" \ -e "backup_application_data=false" \ -e "backup_gitea=false" \ --vault-password-file secrets/.vault_pass # Retention Policy anpassen (Standard: 7 Tage) ansible-playbook -i inventory/production.yml \ playbooks/backup.yml \ -e "backup_retention_days=14" \ --vault-password-file secrets/.vault_pass ``` ### Backup-Struktur **Backup-Verzeichnis:** `/home/deploy/deployment/backups/` **Struktur:** ``` backups/ ├── backup_2025-11-07_14-30-00/ │ ├── postgresql_michaelschiemer_2025-11-07_14-30-00.sql.gz │ ├── application_storage_2025-11-07_14-30-00.tar.gz │ ├── application_logs_2025-11-07_14-30-00.tar.gz │ ├── application_env_2025-11-07_14-30-00.env │ ├── gitea_data_2025-11-07_14-30-00.tar.gz │ └── backup_metadata.txt └── backup_2025-11-06_14-30-00/ └── ... ``` ### Backup-Komponenten **PostgreSQL Backup:** - Format: `postgresql___