Cómo hacer una copia de seguridad de PrestaShop manualmente (cPanel/SSH)
Introducción: Por qué es vital hacer una copia de seguridad de PrestaShop
Tener una tienda online con PrestaShop implica gestionar una gran cantidad de información: productos, clientes, pedidos, módulos y configuraciones. Un fallo en el servidor, un ataque malintencionado o un error humano al actualizar un módulo pueden borrar todo tu trabajo en segundos. Por eso, saber cómo hacer una copia seguridad prestashop cpanel o mediante SSH no es un lujo, es una necesidad absoluta para cualquier comerciante responsable.
Realizar un backup prestashop manual te da control total sobre el proceso. No dependes de plugins de pago ni de la buena voluntad de tu hosting. Aunque al principio pueda parecer técnico, verás que con esta guía paso a paso, cualquier persona puede hacerlo. El objetivo es que, si algún día todo se va al garete, puedas restaurar copia prestashop en cuestión de minutos y sin perder ni un solo dato.
A lo largo de este artículo, te explicaré dos métodos: el más sencillo (a través de cPanel) y el más avanzado (a través de SSH). Ambos son válidos, pero elige el que mejor se adapte a tu nivel de confianza. Al final, también te enseñaré a restaurar la copia, porque una copia que no se puede restaurar no sirve de nada.
Qué necesitas antes de empezar
Antes de lanzarte a hacer una copia de seguridad, asegúrate de tener a mano los siguientes datos. Te harán falta sí o sí.
- Acceso a cPanel de tu hosting (el enlace suele ser algo como
tudominio.com/cpanel). - Usuario y contraseña de SSH (si vas a usar el método avanzado). A menudo se activa desde el propio cPanel.
- Cliente FTP como FileZilla (opcional, pero recomendable para descargar el backup).
- Un lugar seguro para guardar la copia: un disco duro externo, una carpeta en tu ordenador o un servicio de almacenamiento en la nube como Google Drive o Dropbox.
[INFO]: En algunos paneles de control como Syspanel (el puerto de acceso es el 2106), la estructura es similar a cPanel, pero los nombres de los botones pueden variar ligeramente. Si usas Syspanel, busca las opciones de "Archivos" y "Bases de datos" y el proceso será prácticamente el mismo.
Método 1: Copia de seguridad de PrestaShop con cPanel
Este es el método más recomendado para principiantes. cPanel es el panel de control más extendido en el hosting compartido y no necesitas conocimientos avanzados. El proceso se divide en dos partes: respaldar los archivos y respaldar la base de datos. Piensa en ello como hacer una foto de tu tienda: una foto de los muebles (archivos) y otra foto de la caja registradora (base de datos).
Paso 1: Entra en cPanel y localiza el administrador de archivos
Accede a tu cPanel con tus credenciales. Una vez dentro, busca la sección Archivos y haz clic en Administrador de archivos. Se abrirá una ventana que te pedirá que elijas la carpeta raíz. Normalmente, selecciona la opción que dice "Document Root for" y elige tu dominio principal. Luego, pulsa "Ir".
Paso 2: Comprime la carpeta de tu tienda
Dentro del administrador de archivos, verás una lista de carpetas. Busca la carpeta public_html (o www en algunos servidores). Haz clic derecho sobre ella y selecciona Comprimir. En el menú desplegable, elige Zip Archive y pulsa "Comprimir archivos". cPanel creará un archivo llamado public_html.zip en el mismo directorio o en el directorio padre.
[TIP]: Si tu tienda ocupa mucho espacio (más de 2 GB), es posible que la compresión tarde varios minutos. No cierres la pestaña del navegador y ten paciencia. Si el hosting tiene un límite de tiempo, puede que te dé error. En ese caso, salta al Método 2 con SSH, que es más eficiente.
Paso 3: Descarga el archivo comprimido a tu ordenador
Una vez que la compresión haya terminado, verás el archivo public_html.zip. Selecciónalo y haz clic en Descargar en la barra superior. Se descargará a tu ordenador. Guárdalo en una carpeta que recuerdes y con un nombre claro, por ejemplo: backup_tienda_fecha.zip.
Paso 4: Accede a phpMyAdmin para respaldar la base de datos
Ahora vamos con la parte más delicada: la base de datos. Vuelve a la pantalla principal de cPanel y busca la sección Bases de datos. Haz clic en phpMyAdmin. Se abrirá una interfaz web en una pestaña nueva.
Paso 5: Selecciona la base de datos de PrestaShop
En el panel izquierdo de phpMyAdmin, verás una lista de bases de datos. El nombre suele ser algo como usuario_nombreprestashop. Haz clic en el nombre de tu base de datos. Verás que se cargan todas las tablas de PrestaShop (ps_product, ps_customer, ps_orders, etc.).
Paso 6: Exporta la base de datos a un archivo SQL
En la parte superior de phpMyAdmin, haz clic en la pestaña Exportar. Asegúrate de que el método de exportación sea Rápido y que el formato sea SQL. Luego, pulsa el botón Continuar. El navegador descargará un archivo con extensión .sql. Este archivo contiene todas las tablas y datos de tu tienda.
[WARNING]: No confundas la exportación rápida con la personalizada. La rápida es suficiente para una copia de seguridad estándar. Si usas la personalizada, no cambies las opciones por defecto a menos que sepas lo que haces, podrías generar un archivo corrupto.
Paso 7: Guarda ambos archivos en un lugar seguro
Ya tienes el archivo ZIP de los archivos y el archivo SQL de la base de datos. Guárdalos en el mismo lugar. A partir de ahora, esa carpeta es tu "caja fuerte". Te recomiendo que la subas a la nube o la copies en un disco duro externo. No confíes únicamente en el servidor de tu hosting, porque si el servidor falla, perderás también la copia.
Método 2: Copia de seguridad de PrestaShop con SSH
Este método es para los que se sienten cómodos con la línea de comandos o para tiendas muy grandes donde la compresión en cPanel da problemas. SSH te da acceso directo al servidor y el proceso es mucho más rápido. Si no tienes SSH activado, puedes activarlo desde cPanel en la sección Acceso SSH.
Paso 1: Conéctate al servidor por SSH
Abre una terminal en tu ordenador (en Windows puedes usar PowerShell o PuTTY) y escribe el siguiente comando:
ssh usuario@tudominio.com
Te pedirá tu contraseña. Una vez conectado, estarás en el directorio principal de tu cuenta de hosting. Para ver dónde estás, escribe pwd y pulsa Enter.
Paso 2: Navega a la carpeta pública de tu tienda
Normalmente, los archivos de tu web están en la carpeta public_html. Para entrar, escribe:
cd public_html
Verifica que estás en el lugar correcto con ls. Deberías ver las carpetas de PrestaShop como img, modules, themes, var, etc.
Paso 3: Comprime los archivos con un comando
Aquí no usaremos la interfaz gráfica de cPanel. Usaremos el comando tar, que es más eficiente para archivos grandes. Ejecuta lo siguiente:
tar -czvf backup_prestashop_fecha.tar.gz public_html
Este comando creará un archivo comprimido llamado backup_prestashop_fecha.tar.gz dentro de tu directorio actual. La c es para crear, la z para comprimir con gzip, la v para que muestre el progreso y la f para indicar el nombre del archivo.
[INFO]: Si tu tienda está en una subcarpeta (por ejemplo, public_html/tienda), deberás navegar a esa carpeta primero o ajustar el comando: tar -czvf backup_tienda.tar.gz tienda.
Paso 4: Descarga el archivo comprimido
Una vez que el comando termine, tendrás el archivo en el servidor. Para descargarlo a tu ordenador, puedes usar scp (secure copy) desde tu terminal local. Abre otra ventana de terminal en tu ordenador y escribe:
scp usuario@tudominio.com:public_html/backup_prestashop_fecha.tar.gz .
El punto al final indica que lo guardes en la carpeta actual de tu ordenador. También puedes usar un cliente FTP como FileZilla para descargarlo, conectándote con las mismas credenciales SSH.
Paso 5: Exporta la base de datos con mysqldump
Ahora viene la base de datos. Vuelve a tu terminal SSH y escribe el siguiente comando. Necesitarás el nombre de la base de datos, el usuario y la contraseña. Esta información la encuentras en el archivo app/config/parameters.php de tu PrestaShop.
mysqldump -u usuario_bd -p nombre_base_datos > backup_bd_prestashop.sql
Te pedirá la contraseña de la base de datos. Una vez escrita, se generará un archivo .sql en tu directorio actual. Para descargarlo, usa el mismo comando scp que antes, pero con el nombre del archivo SQL.
[WARNING]: Ten mucho cuidado al escribir el nombre de la base de datos y el usuario. Un error tipográfico te dará un error de acceso y no se generará el archivo. Si tienes dudas, revisa el archivo parameters.php con el comando cat.
Paso 6: Guarda todo en un lugar seguro
Al igual que en el método de cPanel, descarga tanto el archivo .tar.gz como el .sql y guárdalos en tu disco duro local o en la nube. Este método es mucho más rápido para tiendas grandes, así que si tu web supera los 3 GB, te lo recomiendo encarecidamente.
Cómo restaurar una copia de seguridad de PrestaShop
Hacer la copia es la mitad del trabajo. Saber restaurar copia prestashop es lo que te salvará el día que algo salga mal. El proceso es el inverso al de la copia.
Restaurar los archivos
- Sube el archivo comprimido (ZIP o TAR.GZ) a tu servidor. Puedes hacerlo con el Administrador de archivos de cPanel o con FTP.
- Extrae el archivo en la carpeta
public_html. En cPanel, haz clic derecho sobre el archivo y elige "Extraer". En SSH, usa el comandotar -xzvf backup_prestashop_fecha.tar.gz. - Sobrescribe los archivos existentes. Cuando te pregunte si quieres reemplazar, di que sí a todo.
Restaurar la base de datos
- Entra en phpMyAdmin y selecciona tu base de datos.
- Haz clic en la pestaña Importar.
- Haz clic en Elegir archivo y selecciona tu archivo
.sql. - Pulsa Continuar. Si la base de datos es grande, puede tardar unos minutos.
[TIP]: Antes de importar, es recomendable vaciar las tablas existentes. En phpMyAdmin, selecciona todas las tablas, elige "Vaciar" en el menú desplegable y confirma. Esto evita conflictos con datos antiguos.
Ajustes finales
Después de restaurar, es posible que necesites limpiar la caché de PrestaShop. Ve a tudominio.com/admin123 (o la URL de tu administración), ve a Parámetros avanzados > Rendimiento y pulsa "Vaciar la caché". También borra la carpeta var/cache desde el administrador de archivos si el panel no responde.
Preguntas frecuentes (FAQ)
¿Cada cuánto tiempo debo hacer una copia de seguridad?
Depende de la actividad de tu tienda. Si haces ventas a diario, lo ideal es una copia diaria de la base de datos y una semanal de los archivos. Si tu tienda es pequeña, una copia completa semanal puede ser suficiente. La clave es la constancia.
¿Puedo automatizar el backup desde cPanel?
Sí, cPanel tiene una herramienta llamada "Backups" que permite programar copias. Sin embargo, la copia automática de cPanel no siempre incluye la base de datos de forma fiable. Te recomiendo usar un módulo de PrestaShop como "Backup" o configurar un cron job con SSH para que haga el backup automáticamente.
¿Qué hago si la restauración da error?
Si al importar la base de datos te da un error, lo más común es que el archivo SQL sea demasiado grande. Prueba a subir el límite de memoria en phpMyAdmin o a dividir el archivo en partes más pequeñas. Si el error es de archivos, asegúrate de haber subido todos los archivos y de que no haya archivos corruptos.
¿Sirve la copia de seguridad de cPanel?
La copia de seguridad completa de cPanel es válida, pero es un archivo único que incluye todo. Puede ser útil, pero es más difícil de manejar si solo quieres restaurar una parte. La copia manual que te he enseñado es más granular y te permite restaurar solo los archivos o solo la base de datos.
¿Dónde está la contraseña de la base de datos?
La encontraras en el archivo app/config/parameters.php. Búscalo en la raíz de tu PrestaShop, ábrelo con un editor de texto y verás los campos database_password y database_user. Si no tienes acceso a este archivo, contacta con tu proveedor de hosting.
Conclusión y buenas prácticas
Hacer una copia seguridad prestashop cpanel o por SSH es una tarea que no deberías posponer. Es tu red de seguridad. Te recomiendo que te pongas una alarma en el calendario para hacerlo cada semana, sin excepción. Y recuerda: una copia en el mismo servidor no es una copia de seguridad. Descárgala siempre a tu ordenador o a la nube.
[WARNING]: Nunca subas el archivo de backup a la misma carpeta public_html. Si un atacante encuentra ese archivo, podría descargarse toda tu tienda, incluida la información de tus clientes. Guárdalo siempre fuera del directorio público.
Con esta guía, ya tienes todo lo necesario para proteger tu negocio. No esperes a que sea demasiado tarde. Haz tu primera copia hoy mismo. Te aseguro que la tranquilidad que te dará no tiene precio. Y si te surge cualquier duda, vuelve a este artículo y sigue los pasos al pie de la letra.
