Portada PrestaShop Cron para Realizar Backups Automáticos de la Base de Datos en PrestaShop
Disponer de un Cron que realice Backups Automáticos de la Base de Datos de nuestro PrestaShop es muy importante, ya que en la base de datos se almacena todo lo relacionado con los pedidos, clientes, productos, ect. Por lo que perder toda esta información podría convertirse en todo un suplicio.
Si bien es cierto que desde cPanel se puede exportar la Base de Datos de PrestaShop 1.6 siempre que queramos a nuestro disco duro local como explicamos por aquí o desde el propio Backoffice de PrestaShop 1.6 -> Parámetros Avanzados -> Copia BD, no estaría de más poder programar una tarea cron que hiciera el trabajo por nosotros para ahorrarnos disgustos en un futuro.
Tal vez, el problema resida en que programar un cron que haga este proceso sea una tarea compleja, pero no hay de qué preocuparse, ya que la comunidad de PrestaShop es muy amplia y podemos encontrarnos con aportes muy buenos, como en esta ocasión el facilitado por el usuario Captain FLAM en el foro de PrestaShop.
El chico se ha currado un fantástico Cron denominado “cron_database_backup” que facilita la tarea con creces y lo único que tienes que hacer es descargarlo del foro de PrestaShop (tienes que estar logueado con tus credenciales para poder hacerlo) y después subirlo a la carpeta de administración de tu tienda, que suele ser similar a: https://www.midominio.info/admin123 o /tienda /administración o el nombre que le hayas puesto.
Para subir el archivo puedes utilizar el administrador de archivos de cPanel (opción cargar que se muestra en la imagen de abajo) o un cliente de FTP estilo FileZilla.
Sin embargo, solo con subir el archivo a la carpeta de administración de tu tienda no es suficiente, puesto que debes crear una tarea cron en el Backoffice de PrestaShop, lo cual tampoco tienen ningún misterio, salvo que necesitas saber tu secure key.
Esta “clave” la puedes obtener de cualquier otra tarea cron que ya tengas, pero que pasa si no tienes ninguna, no hay problema, basta con que te vayas a la pestaña Localización -> Monedas (PrestaShop 1.6), y allí la podrás visualizarla en la parte inferior (como se muestra en la imagen). Copia la parte final de “?secure_key=as545fsdfqw434fsdr34r”, ya que te harán falta para crear el cron.
Con la security key en tu poder, dirígete a módulos -> módulos y servicios e instala el módulo Cron task manager si todavía no lo tienes. Este módulo viene por defecto con la instalación de PrestaShop 1.6 y es completamente gratuito. Puedes hacer una búsqueda con la palabra “Cron” para localizarlo más rápidamente.
Una vez instalado, pincha sobre el “+” que hay pegado a la derecha y que te da la opción de añadir una nueva tarea cron.
Ponle un nombre a la tarea, por ejemplo, BD Backup e introduce la URL completa donde has subido el archivo cron_database_backup.php, más la coletilla “?secure_key= as545fsdfqw434fsdr34r. La coletilla introducida por nuestra parte es un ejemplo, ya que la tuya será diferente.
Después, la frecuencia de la tarea, esto es algo personal, ya que también depende del volumen que mueva tu tienda, pero lo más normal es que pongas que se ejecute de madrugada, por ejemplo, a las 4:00 AM y un día de la semana (Domingo). Y, por último, pulsa sobre el icono del disquete de Guardar, ubicado abajo del todo en la derecha para que se salven los datos introducidos para el cron que acabas de crear.
Nota: No recomendamos la frecuencia diaria, ya que si no vas a acumular muchas copias de seguridad de la base de datos en poco tiempo en tu Hosting y hará que te quedes sin espacio rápidamente.
Si el módulo de crones de PrestaShop no te funciona correctamente, puedes gestionar todo este tema desde el panel de control cPanel de tu Hosting -> https://www.midominio.info/cpanel
En Trabajos de Cron puedes crear un cron con la URL que obtuviste antes en el Bakoffice de PrestaShop y definir mucho mejor la frecuencia con la cual quieres que se ejecute (por ejemplo 1 vez a la semana).
Para que funcione el cron delante de la URL tienes que poner "wget", ya que de otra forma no se ejecutara. Cuando utilizas un navegador web para acceder a una URL, tu navegador hace un llamamiento wget, pero tú no escribes esa palabra, sino que el propio navegador se encarga de ello. El caso es que en las tareas cron no es así y es por ello por lo que necesitas escribir “wget”.
Las copias de seguridad de la Base de Datos las podrás encontrar en la carpeta backups que hay dentro de la carpeta de administración de tu PrestaShop. Su ruta sería similar a https://www.midominio.info/admin123/backups
Podrás acceder a esa ruta desde el administrador de archivos de cPanel o desde un cliente FTP y descargarte los backups que tengas a tu ordenador de forma local.
Cuando necesites restaurar una de estas copias de seguridad de la Base de Datos de tu PrestaShop tendrás que importarlas desde cPanel -> PhpMyadmin como explicamos en este enlace.
Hosticonsejo: En las copias de seguridad de la Base de Datos no se indica la fecha, por lo que lo mejor es renombarlos poniendo algo relacionado con el día en el que fueron generados. Lo más recomendado es que los renombres como decimos, por ejemplo, 1526628518-39d399c6.sql.bz2 lo renombras a ps-backup-diaquetoque.sql.bz2
Este cambio lo puedes hacer sin problemas desde el propio administrador de archivos de cPanel, pulsa sobre el archivo que quieras renombrar, haz click con el botón derecho y selecciona la opción “Rename”. Así, después podrás descargarte a tu ordenador el archivo ya renombrado y tenerlo mejor organizado por fechas en caso de que tengas varios.
Descubre más tareas cron para PrestaShop… ¡Síguenos en nuestras redes sociales: Facebook y Twitter @hostinet!
En Hostinet puedes contratar un Hosting PrestaShop SSD ¡Al Mejor Precio! Utiliza el cupón SSD2018 para conseguir un 25% de decuento adicional.
Desde Hostinet te recomendamos utilizar PHP 7. Además, te garantizamos una IP española para tu tienda online y conseguirás un mejor posicionamiento bajo los principales buscadores: Google, Bing, Yahoo, ect.