3.7 KiB
3.7 KiB
Database Backup Script
Das create_backup.sh
Script erstellt automatisierte Backups der aktuellen Django-Datenbank mit organisierter Archivierung.
📋 Übersicht
Das Script erstellt:
- Archiviertes Backup:
JAHR/MONAT/NAME_TIMESTAMP.sql
(permanent) - Standard-Backup:
NAME.sql
(überschreibbar für Migration)
🚀 Verwendung
Standard-Backup erstellen
cd databaseBackup
./create_backup.sh
Erstellt: fbf-backup.sql
und 2025/07/fbf-backup_TIMESTAMP.sql
Backup mit eigenem Namen
./create_backup.sh production-backup
Erstellt: production-backup.sql
und 2025/07/production-backup_TIMESTAMP.sql
Hilfe anzeigen
./create_backup.sh --help
📁 Verzeichnisstruktur
databaseBackup/
├── create_backup.sh # Backup-Script
├── migrate_live_data.sh # Migration-Script
├── fbf-backup.sql # Standard-Backup (überschreibbar)
├── test-backup.sql # Weiteres Standard-Backup
└── 2025/ # Archiv-Verzeichnis
└── 07/ # Monat
├── fbf-backup_20250707_231754.sql
└── test-backup_20250707_231826.sql
✅ Features
- 🔧 Automatische Konfiguration: Liest .env Datei oder verwendet Standard-Werte
- 📊 Datenbank-Statistiken: Zeigt Datensatz-Anzahl pro Tabelle
- 📦 Organisierte Archivierung: Jahr/Monat-Struktur
- 🔄 Kompatibilität: Funktioniert mit migrate_live_data.sh
- ⚡ Docker-Integration: Nahtlose Container-Verwaltung
- 📝 Ausführliche Logs: Farb-kodierte Fortschrittsanzeige
📊 Backup-Informationen
Das Script zeigt automatisch:
- Dateigröße des Backups
- Anzahl der Zeilen
- Datensatz-Statistiken pro Tabelle
- Erstellungszeit
🔧 Konfiguration
Automatische .env Erkennung
Das Script liest automatisch die .env
Datei aus dem übergeordneten Verzeichnis:
DB_HOST='db'
DB_NAME='db_fbf'
DB_USER='fbf'
DB_PASSWORD='superSecret'
Standard-Werte (wenn .env nicht vorhanden)
DB_HOST=localhost
DB_NAME=fbf
DB_USER=fbf
DB_PASSWORD=fbfpassword
DB_PORT=5432
🔄 Integration mit Migration
Die erstellten Backups sind vollständig kompatibel mit dem Migration-Script:
# Backup erstellen
./create_backup.sh
# Backup wiederherstellen
./migrate_live_data.sh fbf-backup.sql
📋 Voraussetzungen
- Docker und Docker Compose installiert
- Laufende Container (wird automatisch geprüft)
- Schreibberechtigung im databaseBackup Verzeichnis
🛠️ Problembehandlung
Container nicht bereit
cd ..
docker-compose up -d
cd databaseBackup
./create_backup.sh
Backup-Verzeichnis anzeigen
ls -la 2025/07/
Backup-Inhalt prüfen
head -20 fbf-backup.sql
Manual Database Access
cd ..
docker-compose exec db psql -U fbf -d db_fbf
📈 Backup-Workflow
- Script starten → Automatische Konfiguration
- Container prüfen → Status-Validierung
- Verzeichnis erstellen → Jahr/Monat-Struktur
- Datenbank exportieren → pg_dump via Docker
- Dateien erstellen → Archiv + Standard-Kopie
- Statistiken anzeigen → Daten-Übersicht
- Zusammenfassung → Erfolgs-Bestätigung
💡 Tipps
- Regelmäßige Backups: Fügen Sie das Script zu Cron-Jobs hinzu
- Archiv-Management: Alte Backups regelmäßig bereinigen
- Standard-Backups: Ideal für schnelle Migrations-Tests
- Archiv-Backups: Permanente Sicherung mit Zeitstempel
🎯 Nächste Schritte
Nach dem Backup können Sie:
- Das Backup mit
migrate_live_data.sh
testen - Die Datenbank mit anderen Daten füllen
- Bei Problemen schnell zum Backup zurückkehren