Cómo crear backups automáticos de PrestaShop en DirectAdmin
¿Por qué necesitas backups automáticos en PrestaShop?
Si tienes una tienda online con PrestaShop, sabes que es tu fuente de ingresos. Imagina que un plugin falla, un ataque de malware corrompe tus archivos o un error humano borra tu catálogo de productos. Sin una copia de seguridad reciente, podrías perderlo todo: pedidos, clientes, configuración y días de trabajo.
Crear backups PrestaShop DirectAdmin de forma manual funciona, pero es fácil olvidarse. La solución real es automatizar backup PrestaShop para que el sistema trabaje por ti. En este artículo te explico paso a paso cómo configurarlo en DirectAdmin, el panel de control que probablemente usa tu hosting. No necesitas ser un experto en servidores, solo seguir las instrucciones con calma.
Qué necesitas antes de empezar
Para este proceso, asegúrate de tener:
- Acceso a DirectAdmin con permisos de administrador o revendedor.
- Credenciales de acceso a tu hosting (usuario y contraseña).
- Un poco de paciencia y 20 minutos de tiempo libre.
Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es diferente. En ese caso, el acceso se realiza por el puerto 2106. Pero aquí nos centramos en DirectAdmin, que es el más común en muchos proveedores.
Entendiendo qué es un backup completo de PrestaShop
Un backup PrestaShop DirectAdmin completo incluye dos partes esenciales:
- Los archivos de tu tienda: código fuente, imágenes, módulos, temas y configuración.
- La base de datos: donde se guardan productos, pedidos, clientes y contraseñas.
Si solo copias los archivos, perderás los datos. Si solo exportas la base de datos, no tendrás el código. Por eso, automatizar backup PrestaShop implica guardar ambas cosas de forma periódica y segura.
Método 1: Usar la herramienta nativa de DirectAdmin para backups automáticos
DirectAdmin incluye un sistema de copias de seguridad programadas bastante sencillo. Sigue estos pasos:
Paso 1: Accede a tu panel de DirectAdmin
Escribe la URL de tu servidor (normalmente algo como https://tudominio.com:2222) e inicia sesión con tus datos.
Paso 2: Busca la sección "Backups" o "Copias de seguridad"
En el menú principal, verás un icono que dice Backups o Administrar backups. Haz clic ahí.
Paso 3: Configura la programación
Dentro de la sección de backups, busca la opción que dice "Backup automático" o "Programar backup". Aquí podrás elegir:
- Frecuencia: diaria, semanal o mensual.
- Hora exacta: elige una hora de baja afluencia, por ejemplo, las 4:00 AM.
- Destino: puedes guardarlo en el mismo servidor, en un FTP externo o en un directorio específico.
Paso 4: Selecciona qué incluir
Marca las casillas de "Archivos del usuario" y "Bases de datos MySQL". Si tu hosting te lo permite, también puedes incluir listas de correo o configuraciones de email.
Paso 5: Guarda y verifica
Guarda la configuración y espera al menos un ciclo para comprobar que el backup se genera correctamente. Puedes revisar la carpeta de backups en tu servidor para ver si aparece el archivo .tar.gz con la fecha correspondiente.
Método 2: Automatizar backup PrestaShop con un script en Cron
Si quieres más control o tu hosting no incluye la opción anterior, puedes crear un script personalizado y programarlo con Cron. Este método es muy fiable y te permite guardar los backups en un destino remoto.
Paso 1: Crea un script de backup
Accede a tu servidor por SSH o usa el administrador de archivos de DirectAdmin. Crea un archivo llamado backup_prestashop.sh en tu carpeta de usuario.
El contenido del script debe hacer lo siguiente:
- Crear una carpeta temporal para el backup.
- Comprimir los archivos de tu tienda PrestaShop.
- Exportar la base de datos con
mysqldump. - Comprimir todo en un solo archivo con fecha.
- Mover el backup a una carpeta segura o enviarlo a otro servidor.
Un ejemplo básico sería:
#!/bin/bash
FECHA=$(date +%Y-%m-%d)
RUTA_TIENDA="/home/usuario/domains/tudominio.com/public_html"
RUTA_BACKUP="/home/usuario/backups"
DB_NOMBRE="tu_base_de_datos"
DB_USUARIO="tu_usuario"
DB_PASS="tu_password"
mkdir -p $RUTA_BACKUP/$FECHA
tar -czf $RUTA_BACKUP/$FECHA/archivos.tar.gz -C $RUTA_TIENDA .
mysqldump -u $DB_USUARIO -p$DB_PASS $DB_NOMBRE > $RUTA_BACKUP/$FECHA/base_datos.sql
tar -czf $RUTA_BACKUP/backup_completo_$FECHA.tar.gz -C $RUTA_BACKUP/$FECHA .
rm -rf $RUTA_BACKUP/$FECHA
Paso 2: Da permisos de ejecución
En DirectAdmin, selecciona el archivo y cambia los permisos a 755 o ejecuta chmod +x backup_prestashop.sh si usas SSH.
Paso 3: Programa el Cron
En DirectAdmin, busca la sección "Cron Jobs" o "Tareas programadas". Añade una nueva tarea con la frecuencia que prefieras. Por ejemplo, para ejecutarlo cada día a las 3:00 AM:
0 3 * * * /home/usuario/backup_prestashop.sh >/dev/null 2>&1
Guarda y listo. A partir de ahora, el sistema ejecutará tu script automáticamente.
Método 3: Usar un módulo de PrestaShop para backups automáticos
Si prefieres no tocar el servidor, puedes instalar un módulo de backup directamente en tu panel de administración de PrestaShop. Algunos módulos populares son:
- PrestaShop Backup (el oficial).
- Backup & Restore (de terceros).
- MyBackup (muy fácil de usar).
Ventajas de usar un módulo
- No necesitas conocimientos técnicos de servidor.
- Puedes programar backups desde el propio admin.
- Algunos módulos te permiten subir el backup a Google Drive, Dropbox o FTP.
Cómo configurarlo
- Ve a tu back-office de PrestaShop.
- Entra en Módulos > Módulos y servicios.
- Busca "backup" e instala el módulo que prefieras.
- Configura la frecuencia (diaria, semanal) y el destino.
- Activa la opción de backup automático y guarda.
Este método es ideal para principiantes, pero recuerda que el módulo debe estar siempre actualizado para evitar vulnerabilidades.
Dónde guardar tus copias de seguridad: mejores prácticas
No basta con hacer backups, también debes guardarlos en un lugar seguro. Aquí tienes algunas recomendaciones:
- Nunca guardes los backups en la misma carpeta que tu tienda. Si un hacker entra, podría borrarlos.
- Usa un destino externo: un servidor FTP, Amazon S3, Google Drive o un disco duro remoto.
- Conserva al menos las últimas 7 copias. Así puedes recuperar versiones anteriores si detectas un problema tarde.
- Testea tus backups periódicamente. Un backup que no se puede restaurar no sirve de nada.
Cómo restaurar un backup de PrestaShop en DirectAdmin
De nada sirve tener backups si no sabes restaurarlos. Aquí te explico el proceso básico:
Restaurar archivos
- Sube el archivo
.tar.gza tu servidor. - Descomprímelo en la carpeta
public_htmlreemplazando los archivos existentes. - Asegúrate de que los permisos de las carpetas sean correctos (normalmente
755para carpetas y644para archivos).
Restaurar la base de datos
- Accede a phpMyAdmin desde DirectAdmin.
- Selecciona tu base de datos.
- Importa el archivo
.sqlque incluiste en el backup. - Verifica que las tablas se hayan importado correctamente.
Restaurar con un módulo
Si usaste un módulo de PrestaShop, el proceso es más sencillo, ya que suelen incluir un asistente de restauración.
Preguntas frecuentes sobre backups en PrestaShop
¿Cada cuánto tiempo debo hacer un backup?
Depende del volumen de pedidos de tu tienda. Si vendes a diario, un backup diario es lo recomendable. Si es una tienda pequeña, con uno semanal puede ser suficiente. Eso sí, antes de cualquier actualización importante, haz un backup manual.
¿El backup de DirectAdmin incluye todos los archivos de PrestaShop?
Sí, si marcas la opción de "Archivos del usuario", se incluye todo lo que está dentro de tu cuenta, incluyendo la carpeta de tu tienda. Pero ten cuidado: si tienes varias webs en la misma cuenta, el backup será muy grande.
¿Puedo automatizar backup PrestaShop sin acceso a DirectAdmin?
Sí, usando un módulo de PrestaShop o un plugin de tu hosting. Algunos proveedores ofrecen backups automáticos como parte del servicio, aunque suelen ser limitados.
¿Qué hago si mi backup no se restaura correctamente?
Primero, verifica que el archivo no esté corrupto. Prueba a descomprimir el .tar.gz en tu ordenador. Si el problema persiste, revisa los permisos de los archivos y la integridad de la base de datos. Si usas un módulo, contacta con su soporte técnico.
¿Es seguro guardar los backups en el mismo servidor?
Es mejor que nada, pero no es lo ideal. Si el servidor se cae o es atacado, podrías perderlo todo. Te recomiendo encarecidamente usar un destino externo.
Consejos finales para que tu estrategia de backups sea perfecta
Para terminar, aquí tienes algunos tips extra que marcan la diferencia:
- Configura alertas por email para saber si el backup se ha realizado correctamente. En DirectAdmin, puedes activar notificaciones en la sección de Cron Jobs.
- Documenta tu proceso de restauración. Anota los pasos que debes seguir en caso de emergencia. Cuando estás estresado, es fácil olvidar detalles.
- Revisa el espacio en disco. Los backups ocupan espacio. Si tu servidor se llena, tu tienda puede dejar de funcionar.
- Combina métodos: usa el backup de DirectAdmin y además un módulo de PrestaShop. Así tendrás doble protección.
[WARNING]
No confíes únicamente en los backups de tu hosting. Muchos proveedores solo guardan copias de los últimos días y no garantizan la recuperación ante desastres. Tener tu propio sistema de backup PrestaShop DirectAdmin es tu responsabilidad.
[TIP]
Si tu tienda es muy grande, considera hacer backups incrementales en lugar de completos. Así ahorrarás espacio y tiempo de ejecución.
Resumen rápido
Has visto tres formas de automatizar backup PrestaShop en DirectAdmin:
- Usar la herramienta nativa de DirectAdmin para programar copias completas.
- Crear un script personalizado y ejecutarlo con Cron para tener control total.
- Instalar un módulo de PrestaShop si prefieres la simplicidad.
Cualquiera de las tres opciones es válida. La mejor dependerá de tu nivel de comodidad técnica y de la complejidad de tu tienda.
[INFO]
Recuerda que la clave no es hacer backups, sino saber que funcionan. Programa una alarma mensual para probar la restauración en un entorno de prueba. Es la única forma de estar 100% seguro.
Ahora ya tienes todo lo necesario para proteger tu negocio online. Dedica unos minutos hoy y evita un dolor de cabeza enorme mañana. Tu yo del futuro te lo agradecerá.
