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:
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!