Saltar al contenido principal

Database Backups

FeedbackPulse includes a built-in backup system (Admin → Copias de Seguridad) that lets you create, download, and manage database backups directly from the panel de administracion.


🔧 Como Funciona

FeedbackPulse intelligently detects your hosting environment and picks the best backup method:

EnvironmentMetodoSpeed
VPS/Dedicated (exec available)mysqldump command → gzipFast
Windows (Laragon/XAMPP)mysqldump → PHP gzencodeFast
Shared hosting (exec disabled)Pure PHP/PDO dump → gzencodeModerate

The system automatically falls back to the PHP-based method if exec() is disabled or mysqldump is not found. This means backups work on every hosting type, including hosting compartido where shell commands are restricted.


📋 Caracteristicas

Create a Backup

Click Create Backup to generate a new database dump. The file is saved to storage/app/backups/ with a timestamped filename.

Download a Backup

Click the download icon next to any backup to download the .sql.gz file.

Delete a Backup

Click the delete icon to remove a backup file. This only deletes the backup file — your live database is not affected.

Backup List

Shows all existing backups with:

  • Filename
  • File size
  • Creation date
  • Download/Delete actions

🔐 Seguridad

  • Copias de Seguridad are stored inside storage/app/backups/ (not publicly accessible)
  • Base de Datos passwords are handled via temporary .my.cnf files that are deleted after use
  • Only superadmins can access the backup feature

💡 Best Practices

  1. Create regular backups — before updates, major changes, or periodically
  2. Download backups — don't just keep them on the server
  3. Test restoration — periodically verify backups can be restored
  4. Automate — set up a tarea cron for automatic daily backups if needed

Manual Backup via Command Line

cd /var/www/feedbackpulse-saas
mysqldump -u feedbackpulse -p feedbackpulse | gzip > storage/app/backups/manual_$(date +%Y%m%d).sql.gz

Restoring a Backup

gunzip < storage/app/backups/backup_file.sql.gz | mysql -u feedbackpulse -p feedbackpulse

⏭️ Proximos Pasos