create script to create backup
This commit is contained in:
parent
20d387de5a
commit
8b0d78f25e
3 changed files with 450 additions and 2 deletions
148
databaseBackup/BACKUP_README.md
Normal file
148
databaseBackup/BACKUP_README.md
Normal file
|
@ -0,0 +1,148 @@
|
|||
# Database Backup Script
|
||||
|
||||
Das `create_backup.sh` Script erstellt automatisierte Backups der aktuellen Django-Datenbank mit organisierter Archivierung.
|
||||
|
||||
## 📋 Übersicht
|
||||
|
||||
Das Script erstellt:
|
||||
1. **Archiviertes Backup**: `JAHR/MONAT/NAME_TIMESTAMP.sql` (permanent)
|
||||
2. **Standard-Backup**: `NAME.sql` (überschreibbar für Migration)
|
||||
|
||||
## 🚀 Verwendung
|
||||
|
||||
### Standard-Backup erstellen
|
||||
```bash
|
||||
cd databaseBackup
|
||||
./create_backup.sh
|
||||
```
|
||||
Erstellt: `fbf-backup.sql` und `2025/07/fbf-backup_TIMESTAMP.sql`
|
||||
|
||||
### Backup mit eigenem Namen
|
||||
```bash
|
||||
./create_backup.sh production-backup
|
||||
```
|
||||
Erstellt: `production-backup.sql` und `2025/07/production-backup_TIMESTAMP.sql`
|
||||
|
||||
### Hilfe anzeigen
|
||||
```bash
|
||||
./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:
|
||||
```bash
|
||||
DB_HOST='db'
|
||||
DB_NAME='db_fbf'
|
||||
DB_USER='fbf'
|
||||
DB_PASSWORD='superSecret'
|
||||
```
|
||||
|
||||
### Standard-Werte (wenn .env nicht vorhanden)
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
cd ..
|
||||
docker-compose up -d
|
||||
cd databaseBackup
|
||||
./create_backup.sh
|
||||
```
|
||||
|
||||
### Backup-Verzeichnis anzeigen
|
||||
```bash
|
||||
ls -la 2025/07/
|
||||
```
|
||||
|
||||
### Backup-Inhalt prüfen
|
||||
```bash
|
||||
head -20 fbf-backup.sql
|
||||
```
|
||||
|
||||
### Manual Database Access
|
||||
```bash
|
||||
cd ..
|
||||
docker-compose exec db psql -U fbf -d db_fbf
|
||||
```
|
||||
|
||||
## 📈 Backup-Workflow
|
||||
|
||||
1. **Script starten** → Automatische Konfiguration
|
||||
2. **Container prüfen** → Status-Validierung
|
||||
3. **Verzeichnis erstellen** → Jahr/Monat-Struktur
|
||||
4. **Datenbank exportieren** → pg_dump via Docker
|
||||
5. **Dateien erstellen** → Archiv + Standard-Kopie
|
||||
6. **Statistiken anzeigen** → Daten-Übersicht
|
||||
7. **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
|
Loading…
Add table
Add a link
Reference in a new issue