Saltar al contenido principal

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:

EntornoMétodoVelocidad
VPS/Dedicado (exec disponible)Comando mysqldump → gzipRápida
Windows (Laragon/XAMPP)mysqldump → PHP gzencodeRápida
Hosting compartido (exec deshabilitado)Volcado puro PHP/PDO → gzencodeModerada

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.cnf temporales que se eliminan tras su uso
  • Solo los superadmins pueden acceder a la función de copia de seguridad

💡 Mejores Prácticas​

  1. Crea copias de seguridad regulares — antes de actualizaciones, cambios importantes o periódicamente
  2. Descarga las copias de seguridad — no las dejes solo en el servidor
  3. Prueba la restauración — verifica periódicamente que las copias de seguridad se pueden restaurar
  4. 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

⏭️ Próximos Pasos​