Teoría sobre cron y consideraciones finales

En los dos posts anteriores (Usar cron para ejecutar tareas repetitivas y Ejemplos de cron para agendar tareas en Linux), explicamos el uso de cron mediante ejemplos y mostramos cómo agregar entradas de crontab para agendar tareas para ser ejecutadas periódicamente. En esta ocasión finalizaremos esta breve serie de posts sobre el tema presentando la teoría sobre cron y algunas consideraciones finales.

Teoría sobre cron

La sección 5 del man page de crontab (la cual se invoca mediante man 5 crontab) especifica que en el archivo de configuración de este programa (/etc/crontab) podemos otorgarle valores a variables que queremos que estén disponibles durante su ejecución. Algunas de ellas son las siguientes:

PATH contiene los directorios donde crontab podrá buscar por archivos binarios ejecutables. Si el directorio donde se encuentra uno en particular forma parte de esta variable, podremos utilizar una ruta relativa (en vez de una absoluta, como mencionamos en el post anterior) en el sexto campo de la entrada de crontab. Por ejemplo, dada el valor de la variable PATH que mostramos a continuación:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

si el programa que  deseamos ejecutar está ubicado en /usr/local/bin (ver resaltado en rojo), podemos escribir

10 15 * * * miprograma

en vez de

10 15 * * * /usr/local/bin/miprograma

SHELL especifica la shell a utiliza para ejecutar las tareas agendadas. Si se omite esta variable, crontab utilizará por defecto /bin/sh.

MAILTO permite especificar una dirección de correo a la que se deberá enviar la salida de un programa (incluyendo cualquier error). Si se desea enviar el correo electrónico a un usuario del mismo equipo, solamente es necesario especificar el nombre del mismo. Por otra parte, también es posible enviar el reporte a una dirección externa (siempre y cuando el equipo tenga un servicio de correo instalado). Por ejemplo,

MAILTO=alumno

hará el envío al usuario alumno del mismo equipo, mientras que

MAILTO=fulano@example.com

indica que se debe enviar a la dirección mencionada.

Formatos alternativos para las entradas de crontab

En vez de especificar cuándo se debe ejecutar una tarea utilizando el formato de fecha, hora, y día, disponemos de las siguientes alternativas (ver Fig. 1):

Alternativas para especificar cuándo ejecutar una tarea mediante crontab
Figura 1 – Alternativas para especificar cuándo ejecutar una tarea mediante crontab

Espero que esta serie sobre cron les haya resultado útil. ¡Hasta el próximo post!