Tutorial: Cómo programar un backup a un tar.gz mediante un CRON

En uno de los anteriores tutoriales hemos visto cómo programar un crontab en un Cloud Server. Lo que hoy haremos será programar un cron para que haga el backup de una carpeta determinada de nuestro Cloud Server -como por ejemplo el directorio /var/www/html, donde se alojan los archivos de nuestro servidor web-  y comprimirlo en un archivo tar.gz.

Para programar el cron, debemos entrar a nuestro servidor mediante SSH de la siguiente manera:

ssh linuxadmin@miservidor.com

Puedes usar la consola o terminal si estás en Linux o Mac, o Putty si estás trabajando desde Windows.

Una vez ahí, vamos a ejecutar el siguiente comando para poder programar nuestro crontab -e

#crontab -e

Si por algún motivo te informa un error de permisos, o cuando accedés a Nano te dice que no vas a poder escribirlo, reintentá abrir contab -e de la siguiente manera:

sudo crontab -e

Ahora bien, una vez adentro veremos el archivo donde programaremos nuestras tareas, se debería ver como la siguiente captura:

&nbspScreen Shot 2015-10-30 at 11.36.14 AM

Una vez que hemos llegado hasta abajo con el cursor -más precisamente hasta la parte que no está comentada con el #– deberemos definir una hora y un día para que el cron se ejecute. Como debe tener una sintaxis determinada, te recomiendo que uses CronMaker para eso.

Una vez determinada la fecha y la hora en las que queremos que se ejecute nuestra tarea de respaldo y compresión, escribiremos el cron.

En mi caso particular, yo lo definí para que se ejecute todos los días a la 10:15 am. Para eso, el cron debería quedar de la siguiente manera:

15 10 * * *

Luego debemos agregarle el comando para que copie y comprima determinado directorio. En nuestro caso, quiero copiar y comprimir /var/www/html, por lo que todo el cron quedará de la siguiente manera:

15 10 * * * cd /backups && tar -cpzf misitio.tar.gz /var/www/html

Esto singifica que primero irá hacia la carpeta backups y luego desde lo comprimirá en un archivo llamado misitio.tar.gz el directorio /var/www/html

Ahora bien, como dijimos, eso lo hará todos los días. Reemplazará el archivo del día anterior, sino tenemos problemas con eso lo dejamos tal como está, pero si necesitamos tener un historial de lo que se respaldó deberemos agregar lo siguiente a la linea de cron:

15 10 * * * cd /backups && tar -cpzf misitio-$(date +%Y-%m-%d).tar.gz /var/www/html

Como podrás apreciar, el nombre del archivo misitio tendrá después del guión: el año, el mes y el día, con lo cual quedará como en este ejemplo: misitio-2015-12-25.tar.gz

Como verás, es muy simple! Si tenés algún comentario o duda, podés registrarte y escribirnos aquí abajo, o bien contactarte con Soporte Técnico desde el área de clientes.

Deja una respuesta