Ejemplos de cron para agendar tareas en Linux

Como comentamos en el post anterior, mediante cron podemos agendar tareas para que se ejecuten automáticamente de manera periódica en Linux, y explicamos mediante un simple ejemplo cómo crear una. En esta oportunidad vamos a compartir más ejemplos de cron en Linux a fin de liberarnos de tener que ejecutar tareas repetitivas a mano (¡ni hablar de la molestia que nos ocasionaría si tuviéramos que correr una en medio de la madrugada!).

Ejemplos de cron: uso de comodines

Recordemos que el servicio crond chequea cada minuto las entradas de crontab y las ejecuta si se cumplen las condiciones de fecha, día, y hora. Cuando deseamos que una condición se cumpla siempre, utilizamos un asterisco en el lugar correspondiente. Por ejemplo, si necesitamos ejecutar el script /home/alumno/miscript.sh todos los días a las 12:45 hs, agregaremos la siguiente línea a nuestra tabla:

45 12 * * * /home/alumno/miscript.sh

Mientras los primeros dos números especifican la hora (12:45 hs), los siguientes tres asteriscos indican que la tarea debe ejecutarse 1) todos los días (1 a 31), 2) de todos los meses, y 3) todos los días de la semana (Domingo a Sábado), respectivamente.

Siguiendo ese razonamiento, ¿qué indicará la siguiente línea?

00,15,30,45 11 * * 1-5 /home/alumno/segundoscript.sh

Repasemos en detalle:

El primer (00,15,30,45) y segundo campos (11) indican que este script debe correr a las 11:00, 11:15, 11:30, y 11:45 hs. de cualquier día del mes, todos los meses (indicado por el * en el tercer y cuarto campos, respectivamente), pero solamente de Lunes a Viernes (1-5 en el quinto campo). Dicho de forma más simple, cron ejecutará este script a las 11:00, 11:15, 11:30, y 11:45 hs. de Lunes a Viernes.

Las entradas de crontab admiten listas y rangos para especificar las condiciones de fecha, día, y hora.

Viendo nuestra tabla de tareas agendadas

En el post anterior mencionamos que utilizando el comando crontab -e podemos editar el archivo donde aparece nuestra tabla de tareas agendadas. ¿Pero qué sucede si solamente deseamos visualizarla sin tener que abrirla en modo de edición de texto? Muy fácil:

crontab -l

Para practicar la creación de entradas de cron, podemos utilizar un generador online. En la Fig. 1 mostramos la simulación del segundo ejemplo de la sección anterior:

http://www.openjs.com/scripts/jslibrary/demos/crontab.php
Figura 1 – Practicando los ejemplos de cron con un generador online

Como última aclaración, en la imagen anterior podemos observar que el rango 1-5 y la lista 1,2,3,4,5 en cualquier campo son equivalentes.

Espero que este post les haya resultado de utilidad. ¡Hasta la próxima!