Programar copia de seguridad con CronJobs en cPanel

Programar copias de seguridad con CronJobs en cPanel

Programar copias de seguridad automáticas debe ser algo tan importante como tener tu web online.

En este caso, vamos a ver cómo programar una copia de seguridad de los archivos que queramos y, también, de la base de datos en nuestro cPanel. Esto es válido para todos los gestores de contenido (al menos que yo conozco).

Veamos cómo programar las copias de seguridad.

Lo primero de todo: nuestra estructura de carpetas. Normalmente el directorio raíz del alojamiento debe ser algo así como /home/CUENTAENHOST/. En adelante a CUENTAENHOST le llamaremos “account”.

Aquí es donde están todos los archivos correspondientes a nuestro hosting, y cuando digo “todo” me refiero a QUE TENGAS CUIDADO CON LO QUE HACES!!! Si no sabes algo, busca o pregunta. No me puedo hacer responsable de lo que hagáis pero los pasos que voy a dar no implican borrar nada, así que… al lío.

Entramos en cPanel para comenzar.

Vamos a crear una carpeta en nuestra raíz (ya sabes, /home/account/nueva-carpeta) con el nombre que queramos. Vamos a ser creativos… vamos a llamarla backups!

Ve al gestor de archivos y crea dicho directorio en la raíz, donde se almacenarán las copias de seguridad:

/home/account/backups

Crear una carpeta para copias de seguridad
Crear una carpeta para copias de seguridad

Programar copias de seguridad con CronJobs en cPanel es muy sencillo.

Ahora vamos a crear los trabajos cronológicos o cronjobs:

Cronjobs en cPanel
Cronjobs en cPanel

Seleccionamos la temporalidad del trabajo. cPanel tiene varios ciclos predeterminados. Podemos usar uno de ellos o personalizarlo nosotros mismos. Es fácil.

Agregar nueva tarea de CronJobs en cPanel
Agregar nueva tarea de CronJobs en cPanel

Una vez elegido el periodo vamos a crear al comando. En este caso, como indicamos antes, serán 2 cronjobs: uno para los archivos y otro para la base de datos. Lo normal es que la cronología de las 2 tareas sean iguales aunque podemos personalizarlas al gusto. Por ejemplo, hacer copia de los archivos 1 vez a la semana y una copia de la base de datos diaria, pero eso lo dejo a vuestra elección.

El comando para copiar los archivos será el siguiente:

tar czvf /home/account/backups/backup_$(date +\%Y-\%m-\%d)_archivos.tgz ./public_html

Este comando creará un archivo compactado del contenido de la carpeta /public_html (que es donde normalmente se encuentran los datos de la web, aunque puede variar de nombre, como web o www o algo así. Revisádlo antes!) en la carpeta backups con el nombre backup_AÑO_MES_DIA_archivo.tgz

Ahora, creamos la tarea para la copia de seguridad de la base de datos. Necesitaremos los siguientes datos para configurar la tarea:

DBUSER: Usuario de la base de datos.

DBPASSWORD: Contraseña de dicho usuario para la base de datos.

DBNAME: Nombre de la base de datos.

Los parámetros cronológicos igual que la tarea anterior y el comando el siguiente:

mysqldump -uDBUSER -pDBPASSWORD DBNAME | gzip > /home/account/backups/backup_$(date +\%Y-\%m-\%d)_basededatos.gz

Este comando creará un DUMP de la base de datos comprimido en un archivo llamado backup_AÑO_MES_DIA_basededatos.tgz

He elegido este formado de nombre porque es muy fácil localizarlos ordenando por nombre.

Adicionalmente el sistema envía un email informando que la tarea se ha ejecutado. Configura el email al que quieras recibir dicho aviso.

NOTA: Mi recomendación para ver que todo funciona es que las tareas las creéis con una temporalidad BAJA, quiero decir, cada 5 minutos o algo así… para ver que los archivos se crean correctamente y, si todo va bien, volver a configurarlos con el ciclo elegido (semanal, mensual…)

Agradecimientos y fuentes:

EpicCronTarGzip

5 pensamientos sobre “Programar copias de seguridad con CronJobs en cPanel”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *