Copias de Seguridad de Base de Datos
FeedbackPulse incluye un sistema de copias de seguridad integrado (Admin → Copias de Seguridad) que te permite crear, descargar y gestionar copias de seguridad de la base de datos directamente desde el panel de administración.
🔧 Cómo Funciona
FeedbackPulse detecta inteligentemente tu entorno de alojamiento y elige el mejor método de copia de seguridad:
| Entorno | Método | Velocidad |
|---|---|---|
| VPS/Dedicado (exec disponible) | Comando mysqldump → gzip | Rápida |
| Windows (Laragon/XAMPP) | mysqldump → PHP gzencode | Rápida |
| Hosting compartido (exec deshabilitado) | Volcado puro PHP/PDO → gzencode | Moderada |
El sistema recurre automáticamente al método basado en PHP si exec() está deshabilitado o no se encuentra mysqldump. Esto significa que las copias de seguridad funcionan en todo tipo de alojamiento, incluyendo el hosting compartido donde los comandos de shell están restringidos.
📋 Funcionalidades
Crear una Copia de Seguridad
Haz clic en Crear Copia de Seguridad para generar un nuevo volcado de base de datos. El archivo se guarda en storage/app/backups/ con un nombre de archivo con marca de tiempo.
Descargar una Copia de Seguridad
Haz clic en el icono de descarga junto a cualquier copia de seguridad para descargar el archivo .sql.gz.
Eliminar una Copia de Seguridad
Haz clic en el icono de eliminación para borrar un archivo de copia de seguridad. Esto solo elimina el archivo de copia de seguridad — tu base de datos activa no se ve afectada.
Lista de Copias de Seguridad
Muestra todas las copias de seguridad existentes con:
- Nombre de archivo
- Tamaño del archivo
- Fecha de creación
- Acciones de descarga/eliminación
🔐 Seguridad
- Las copias de seguridad se almacenan dentro de
storage/app/backups/(no accesibles públicamente) - Las contraseñas de la base de datos se gestionan mediante archivos
.my.cnftemporales que se eliminan tras su uso - Solo los superadmins pueden acceder a la función de copia de seguridad
💡 Mejores Prácticas
- Crea copias de seguridad regulares — antes de actualizaciones, cambios importantes o periódicamente
- Descarga las copias de seguridad — no las dejes solo en el servidor
- Prueba la restauración — verifica periódicamente que las copias de seguridad se pueden restaurar
- Automatiza — configura una tarea cron para copias de seguridad diarias automáticas si es necesario
Copia de Seguridad Manual por Línea de Comandos
cd /var/www/feedbackpulse-saas
mysqldump -u feedbackpulse -p feedbackpulse | gzip > storage/app/backups/manual_$(date +%Y%m%d).sql.gz
Restaurar una Copia de Seguridad
gunzip < storage/app/backups/backup_file.sql.gz | mysql -u feedbackpulse -p feedbackpulse