Crear copias de seguridad de PrestaShop automáticas (cPanel/Plesk)
¿Por qué es imprescindible automatizar la copia de seguridad PrestaShop?
Si tienes una tienda online, tu mayor activo no es el diseño ni el catálogo: son los datos. Hablamos de los pedidos, los clientes, los precios, el stock y la configuración de los módulos. Perder eso por un error humano, un hackeo o un fallo del servidor puede significar el cierre del negocio.
Aunque muchos alojamientos prometen fiabilidad, la única forma de estar 100% tranquilo es tener un plan de backup prestashop sólido. Y no vale con hacerlo una vez al mes. Lo ideal es que se haga de forma automática y frecuente, sin que tengas que acordarte.
En esta guía, te voy a enseñar a crear copias de seguridad de PrestaShop automáticas usando los dos paneles de control más comunes en el hosting: cPanel y Plesk. No necesitas ser un experto, solo seguir los pasos al pie de la letra.
¿Qué necesitas para empezar?
Antes de entrar en materia, necesitas tener a mano:
- Acceso al panel de control de tu hosting (cPanel o Plesk). Las credenciales suelen enviártelas por email al contratar el servicio.
- Acceso FTP o al administrador de archivos del panel.
- Acceso a la base de datos (MySQL o MariaDB). Normalmente, las credenciales están en el archivo
app/config/parameters.phpde tu PrestaShop.
Si no tienes claro alguno de estos datos, contacta con tu proveedor de hosting antes de continuar. Es fundamental para no equivocarte de servidor o de base de datos.
La regla de oro: base de datos + archivos
Una copia de seguridad PrestaShop completa se compone de dos partes:
- Los archivos del sistema: Aquí están el código fuente, las imágenes, los módulos, los temas y el archivo de configuración. Sin ellos, la tienda no funciona.
- La base de datos: Es donde se guardan los productos, clientes, pedidos, contraseñas (cifradas) y todas las acciones que ocurren en tu tienda.
Un error común es copiar solo los archivos y olvidarse de la base de datos. Si haces eso, restaurar tu tienda será un dolor de cabeza, porque tendrás la estructura pero no el contenido. Por eso, en todos los métodos que te explico a continuación, siempre vamos a respaldar ambas cosas.
[WARNING] No confíes en los backups que hace tu hosting de forma interna. Esos backups son para que el proveedor recupere el servidor completo, no para que tú restaures un sitio individual. Además, no suelen estar accesibles para ti en tiempo real. Tu backup prestashop debe ser tuyo y estar bajo tu control.
Método 1: Automatizar backup PrestaShop con cPanel
cPanel es uno de los paneles más usados del mundo. Es muy visual y tiene herramientas integradas para programar tareas. Vamos a usar dos de ellas: Backup y Cron Jobs.
Paso 1: Generar una copia de seguridad manual (la primera vez)
Antes de automatizar, vamos a hacer una copia manual para asegurarnos de que todo funciona.
- Entra en tu cPanel y busca la sección Archivos.
- Haz clic en Gestor de copias de seguridad o Backup.
- Verás dos opciones principales: "Backup del directorio principal" y "Backup de bases de datos MySQL".
- Primero, haz clic en Backup de la base de datos. Te pedirá que elijas la base de datos de tu PrestaShop (suele tener un prefijo como
usuario_bdprestashop). Descarga el archivo.sql.gzque se genera. - Después, ve a Backup del directorio principal o Home Directory. Descarga el archivo
.tar.gzcompleto. Esto incluye todos los archivos de tu web.
Guarda estos dos archivos en un lugar seguro de tu ordenador o, mejor aún, en un servicio en la nube como Google Drive o Dropbox.
Paso 2: Programar la copia de seguridad automática con Cron Jobs
cPanel tiene una herramienta llamada Cron Jobs (Tareas programadas). Es un asistente que ejecuta comandos en el servidor a intervalos regulares.
- En cPanel, busca la sección Avanzado y haz clic en Cron Jobs.
- Verás un formulario. En la parte de Comando, tendrás que pegar un script que haga la copia. No te asustes, es más fácil de lo que parece.
Vamos a crear un script que haga dos cosas: comprimir la carpeta de archivos y exportar la base de datos.
Comando para archivos:
tar -czf /home/USUARIO/backups/archivos_$(date +\%Y-\%m-\%d).tar.gz /home/USUARIO/public_html
Comando para la base de datos:
mysqldump -u USUARIO_BD -pCLAVE_BD NOMBRE_BD | gzip > /home/USUARIO/backups/bbdd_$(date +\%Y-\%m-\%d).sql.gz
[INFO] Sustituye
USUARIO,USUARIO_BD,CLAVE_BDyNOMBRE_BDpor los datos reales de tu hosting. Estos datos los encuentras en el archivoapp/config/parameters.phpde PrestaShop o en la sección "Bases de datos MySQL" de cPanel.
Un truco importante: Lo ideal es que primero se haga la copia de la base de datos y luego la de los archivos, porque si un cliente hace un pedido justo en ese momento, la base de datos y los archivos podrían no estar sincronizados. Para ello, puedes crear dos cron jobs diferentes con una pequeña diferencia de minutos.
Paso 3: Configurar la frecuencia
En el formulario de Cron Jobs, elige la frecuencia. Para una tienda activa, lo recomendable es:
- Base de datos: Cada día a las 3:00 AM (o cuando tengas menos tráfico).
- Archivos: Cada día a las 3:15 AM.
Puedes configurarlo con los menús desplegables (Minuto, Hora, Día, Mes, Día de la semana). No pongas * en todo, porque harías la copia cada minuto y saturarías el servidor.
Paso 4: Guardar y verificar
Guarda el cron job y espera a que pase la hora programada. Al día siguiente, revisa la carpeta /backups que creaste. Deberías ver los archivos .tar.gz y .sql.gz. Si los ves, ¡enhorabuena! Ya tienes tu backup prestashop automatizado.
[TIP] Si no quieres usar comandos, muchos hosts ofrecen plugins o scripts en la sección "Softaculous" o "Installatron" que permiten programar backups con un solo clic. Pero el método de Cron Jobs es universal y no depende de terceros.
Método 2: Automatizar backup PrestaShop con Plesk
Plesk es otro panel muy popular, sobre todo en servidores VPS y dedicados. Su interfaz es diferente a cPanel, pero la lógica es la misma.
Paso 1: Acceder al administrador de archivos y bases de datos
- Entra en Plesk con tu usuario administrador.
- En el panel izquierdo, verás la lista de dominios. Haz clic en tu dominio de PrestaShop.
- Verás secciones como Archivos, Bases de datos y Tareas programadas.
Paso 2: Crear un backup manual desde el panel
Plesk tiene un asistente de backup muy potente.
- Ve a la pestaña Sitios y servicios o Websites & Domains.
- Haz clic en tu dominio y busca el botón Copias de seguridad (o Backup Manager).
- Haz clic en Crear una copia de seguridad.
- Aquí puedes elegir qué quieres incluir. Marca Todo el sitio web para asegurarte de que incluye archivos y bases de datos.
- Elige dónde guardarlo: en el servidor, en un almacenamiento remoto (FTP, SFTP) o en tu ordenador. Para automatizarlo, es mejor guardarlo en el servidor o en un FTP externo.
- Pulsa Aceptar y espera a que termine.
Paso 3: Programar la tarea con el Planificador de Tareas
Plesk incluye un planificador de tareas (Task Scheduler) que es perfecto para esto.
- En el panel de tu dominio, busca la sección Tareas programadas o Scheduled Tasks.
- Haz clic en Añadir tarea o Add Task.
- En el campo Comando, puedes usar el script de línea de comandos que te he dado antes, pero Plesk tiene una forma más guay: usar su propia utilidad de backup.
Comando recomendado para Plesk:
/usr/local/psa/bin/pleskbackup domain-name TU-DOMINIO.com --description="Backup diario"
Este comando crea un backup completo del dominio especificado.
[INFO] Si tu panel es Syspanel (antes conocido como HestiaCP), el acceso se realiza a través del puerto 2106 y las opciones de backup suelen estar en la pestaña "Backups". El proceso es similar: creas un backup manual y luego programas una tarea cron desde el propio panel o desde SSH.
Paso 4: Configurar la hora y la frecuencia
En el planificador, elige la frecuencia. Al igual que con cPanel, te recomiendo diario para la base de datos y archivos.
Elige la hora de menor actividad (madrugada) y guarda la tarea.
Paso 5: Almacenar en un lugar externo (muy importante)
Si guardas los backups en el mismo servidor, un fallo del disco duro los borraría todo. Plesk te permite configurar un almacenamiento remoto.
En la configuración de la tarea programada, busca la opción de Almacenamiento externo o Remote Storage. Aquí puedes poner las credenciales de un servidor FTP que tengas contratado o un servicio de almacenamiento en la nube que sea compatible.
[WARNING] Si tu servidor se cae y no tienes backup externo, no podrás restaurar nada. La automatización solo tiene sentido si los archivos resultantes se guardan en un lugar distinto al servidor. Dedica tiempo a configurar esto.
Preguntas frecuentes (FAQ) sobre copias de seguridad PrestaShop
¿Cada cuánto tiempo debo hacer una copia de seguridad?
Depende del volumen de pedidos de tu tienda. Si haces más de 10 pedidos al día, lo ideal es un backup diario. Si es una tienda más pequeña, con dos o tres veces por semana es suficiente. La base de datos siempre debería tener una frecuencia mayor que los archivos, porque es donde está la información crítica.
¿Puedo restaurar una copia de seguridad de un hosting a otro?
Sí, pero con matices. Puedes mover los archivos y la base de datos a otro servidor, pero tendrás que ajustar el archivo parameters.php con las nuevas credenciales. Además, es posible que tengas que regenerar la caché de PrestaShop desde el panel de administración.
¿Qué hago si mi copia de seguridad falla?
Lo primero, no te pongas nervioso. Revisa los logs del cron job en cPanel o Plesk. El error más común es que la ruta de la carpeta no sea correcta o que las credenciales de la base de datos no sean las adecuadas. Comprueba que la carpeta /backups existe y tiene permisos de escritura (755 o 777).
[TIP] Haz una restauración de prueba en un subdominio o en un hosting local antes de necesitarla de verdad. Así sabrás que tu método funciona y sabrás cómo hacerlo en caso de emergencia.
¿Afecta hacer un backup al rendimiento de mi tienda?
Sí, mínimamente. El proceso de compresión y exportación consume recursos del servidor. Por eso se recomienda hacerlo en horas de bajo tráfico. Si tu tienda es muy grande, puedes probar a hacer la copia de la base de datos por separado y los archivos en otro momento.
¿Qué es mejor, usar el panel de control o un módulo de PrestaShop?
Existen módulos de backup en el marketplace de PrestaShop que te permiten programar copias desde el propio administrador. Son muy cómodos, pero suelen consumir más recursos y algunos son de pago. Los métodos con cPanel y Plesk son más fiables y no dependen de que tu tienda esté funcionando. Si tu tienda está caída, un módulo no te servirá, pero el cron del servidor sí.
Conclusión: tu tranquilidad tiene un precio (bajo)
Automatizar el backup prestashop no es un lujo, es una necesidad. Con los pasos que has visto, tienes dos métodos claros y efectivos para que tu tienda esté protegida sin que tengas que acordarte de hacer nada.
La clave está en la constancia y en la verificación. Programa tu tarea, espera un día y comprueba que el archivo se ha generado. Repite este proceso una vez al mes para asegurarte de que todo sigue funcionando.
No esperes a tener un problema para empezar a hacer copias. Cuando el desastre ocurra, ya será demasiado tarde. Invierte 30 minutos hoy y duerme tranquilo todos los días sabiendo que tu negocio está a salvo.
