Zum Hauptinhalt springen

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:

UmgebungMethodeGeschwindigkeit
VPS/Dediziert (exec verfügbar)mysqldump-Befehl → gzipSchnell
Windows (Laragon/XAMPP)mysqldump → PHP gzencodeSchnell
Shared Hosting (exec deaktiviert)Reines PHP/PDO-Dump → gzencodeMittel

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

  1. Regelmäßige Backups erstellen — vor Updates, größeren Änderungen oder periodisch
  2. Backups herunterladen — nicht nur auf dem Server belassen
  3. Wiederherstellung testen — Backups regelmäßig auf Wiederherstellbarkeit prüfen
  4. 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

⏭️ Nächste Schritte