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