Datenbank-Backups
FeedbackPulse enthält ein integriertes Backup-System (Admin → Backups), mit dem Sie Datenbank-Backups direkt aus dem Admin-Panel erstellen, herunterladen und verwalten können.
🔧 Funktionsweise
FeedbackPulse erkennt Ihre Hosting-Umgebung automatisch und wählt die beste Backup-Methode:
| Umgebung | Methode | Geschwindigkeit |
|---|---|---|
| VPS/Dediziert (exec verfügbar) | mysqldump-Befehl → gzip | Schnell |
| Windows (Laragon/XAMPP) | mysqldump → PHP gzencode | Schnell |
| Shared Hosting (exec deaktiviert) | Reines PHP/PDO-Dump → gzencode | Mittel |
Das System greift automatisch auf die PHP-basierte Methode zurück, wenn exec() deaktiviert oder mysqldump nicht vorhanden ist. Das bedeutet, dass Backups auf jedem Hosting-Typ funktionieren, einschließlich Shared Hosting, wo Shell-Befehle eingeschränkt sind.
📋 Funktionen
Backup erstellen
Klicken Sie auf Backup erstellen, um einen neuen Datenbank-Dump zu erzeugen. Die Datei wird in storage/app/backups/ mit einem zeitgestempelten Dateinamen gespeichert.
Backup herunterladen
Klicken Sie auf das Download-Symbol neben einem Backup, um die .sql.gz-Datei herunterzuladen.
Backup löschen
Klicken Sie auf das Lösch-Symbol, um eine Backup-Datei zu entfernen. Dadurch wird nur die Backup-Datei gelöscht — Ihre Live-Datenbank bleibt unberührt.
Backup-Liste
Zeigt alle vorhandenen Backups mit:
- Dateiname
- Dateigröße
- Erstellungsdatum
- Download-/Lösch-Aktionen
🔐 Sicherheit
- Backups werden in
storage/app/backups/gespeichert (nicht öffentlich zugänglich) - Datenbankpasswörter werden über temporäre
.my.cnf-Dateien verwaltet, die nach der Verwendung gelöscht werden - Nur Superadmins können auf die Backup-Funktion zugreifen
💡 Best Practices
- Regelmäßige Backups erstellen — vor Updates, größeren Änderungen oder periodisch
- Backups herunterladen — nicht nur auf dem Server belassen
- Wiederherstellung testen — Backups regelmäßig auf Wiederherstellbarkeit prüfen
- Automatisieren — bei Bedarf einen Cron-Job für automatische tägliche Backups einrichten
Manuelles Backup über die Befehlszeile
cd /var/www/feedbackpulse-saas
mysqldump -u feedbackpulse -p feedbackpulse | gzip > storage/app/backups/manual_$(date +%Y%m%d).sql.gz
Backup wiederherstellen
gunzip < storage/app/backups/backup_file.sql.gz | mysql -u feedbackpulse -p feedbackpulse