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!

Deja una respuesta

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