Categorías: Linux

Crontab programando eventos periódicos

¿Qué es Cron y Crontab?

El nombre Cron viene del griego Chronos que significa “tiempo”. Cron es un administrador de procesos en segundo plano que ejecuta procesos a intervalos de tiempo.

Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab.

Por otra parte, Crontab es un simple archivo de texto que guarda una lista de comandos a ejecutar en un tiempo especificado por el usuario. Crontab mirará la fecha y hora en que se debe ejecutar el script o el comando, los permisos de ejecución y lo ejecutará. Cada usuario puede tener su propio archivo crontab.

¿Cómo funciona Crontab?

El demonio cron se inicia en /etc/init.d aunque este directorio puede depender de la distribución, como todo demonio se inicial en el arranque del sistema.
Como usuario o administradores, podemos agregar comandos o scripts a crontab para automatizar algunos procesos.
Esto es útil por ejemplo para automatizar la actualización de un sistema, hacer copias de seguridad, entre otras opciones.

Primeros pasos:

Antes de empezar con Crontab, haremos un :

export EDITOR=nano

Con esto, pondremos la aplicación de texto por defecto “nano”. Aqui cada uno puede usar la que le sea más sencilla o esté mas acostumbrado a utilizar.

Comandos básicos de Cron

Crontab -r : Elimina todo el contenido de Crontab.
Crontab -l: Listaremos el contenido de Crontab.
Crontab -e: Editaremos el fichero Crontab.
Man crontab: Abriremos el manual de Crontab.

Primero de todo abriremos el fichero Crontab con un Crontab -e.

Una vez dentro, iremos debajo del todo, y pondremos la línia que nos interese que Cron haga y cuando quiera que lo haga.

Con la siguiente imagen, vamos a ver un claro ejemplo de como se usa Crontab.

Como podemos ver, los dos primeros números dicen la hora y minutos que queremos que se ejecute.
Los dos asteriscos que podemos ver en la fotografía, son, los días del mes que queremos que se ejecute, y que mes, o meses, queremos que se ejecute, significando que puede ejecutarse en cualquier día de cualquier mes, es decir, sin restricción sobre esos campos. Y/o, los días del mes, es decir, cada Lunes/Martes[…], y a continuación, el usuario. Y como último, el comando que queremos que se ejecute.

Ejemplo para automatizar backups con Crontab:

0 5 * * 1 root  tar -zcf /var/backups/home.tgz /home/

Podéis utilizar esta calculadora, para afinar mejor los números a la hora de escribir en el fichero crontab.

Colaborador

Share
Publicado por
Colaborador

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

5 años hace