logo El código abierto
y su importancia
en la empresa
Tareas Automáticas mientras Duermes Crontab

Volumen 1, #5, Viernes 5 de octubre de 2007

Daemons

Como lo platicamos en la edición #1, los sistemas operativos UNIX y sus derivados como Linux, han tenido la fortuna de que su código ha estado abierto para ser mejorado por muchísima gente. La posibilidad de que el código esté publicado, permite que un sistema, subsistema o programa evolucione sin depender de empresa alguna, sino quien quiera seguirlo desarrollando hace que ese código no detenga su avance.

Los Daemons, son programas o subsistemas, más generalmente "procesos" que realizan tareas muy diversas ejecutados en "segundo plano" (background) y que en general los usuarios comunes sólo disfrutan, pero sólo el superusuario o administrador puede iniciarlos o detenerlos. El término fue acuñado por ciertos programadores de MIT (Massachusetts Institute of Technology) en los 60's y tiene su origen en la mitología griega, donde los Daemons (dæmon)o demonios hacían aquellas tareas en las que los dioses no podían molestarse, más sin embargo tales tareas debían hacerse, en general, sin que nadie se diese cuenta.

UNIX heredó esta terminología para sus necesidades básicas de procesos en segundo plano. En esta ocasión, hablaremos del Daemon "CRON"

CRONTAB y CRON

El Daemon "Cron" tiene décadas evolucionando y su última versión 4.1 en la Distribución Berkeley, proviene de 1996, lo que indica que está muy maduro. Cron tiene un programa auxiliar que es el Crontab, el cual mantiene los archivos de distintos usuarios a fin de que el Daemon sepa qué hacer. Crontab sí puede ser ejecutado por cualquier usuario, pero Cron es iniciado al iniciarse todo el sistema operativo, aunque puede pararse e iniciarse si el superusuario lo decide.

Un usuario prepara un pequeño archivo de texto con sus necesidades de ejecución indicando, hora, minuto, segundo, dia del mes, día de la semana y el programa que será ejecutado a tal hora. Además el usuario proporciona una dirección de correo electrónico a donde se le avisará en caso de que el programa ejecutado ( o programas) mande algún mensaje. Este archivo puede definir tantas tareas como el usuario requiera, no hay límite. El usuario no necesita estar "en sesión" para que sus tareas sean ejecutadas. El usuario tiene que ejecutar Crontab y darle de parámetro el nombre del archivo donde están las "indicaciones" para que Cron trabaje. Si el archivo tiene errores, Crontab avisará al usuario inmediatamente. Una vez definidas, éstas estarán entre los "pendientes" del Daemon "Cron". Sólo el superusuario y el usuario que las creó pueden cancelar o remover estas tareas de la cola de trabajos del Daemon "Cron".

Usos Comúnes

El reloj de una PC es un elemento clave para muchas cosas, una de ellas para el Daemon Cron. Si queremos que este reloj esté a tiempo, hay que asegurar esté sincronizado con "Servers de Tiempo" que están conectados a Internet y éstos a su vez a relojes atómicos. Si se define una tarea para Cron en la cola de trabajos definida por el superusuario o administrador, de modo que el servidor Linux en cuestión ejecute unas 4 o 6 veces al día la tarea de sincronizar su reloj con un "servidor de tiempo", aseguraremos que de entrada las tareas a ejecutarse se realicen a tiempo. De tal forma, las bitácoras y productos del trabajo diario, registros en bases de datos y toda la operación del sistema que registre fechas y horas, tendrá indicada la hora correcta en que se produjeron los datos.

La producción de respaldos, el inicio de procesos nocturnos como cortes de caja, informes de ventas del día anterior, gráficas de desempeño de los trabajadores, estadísticas del día, semana o mes recién concluído, envío de emails a listas de correo de suscriptores con noticias o promociones del mes o la semana y la producción misma de reportes ejecutivos, basados en información acumulada en cierto período, son sólo algunas de las muchas posibilidades que este valioso Daemon "Cron" puede hacer.

Las demás cosas que puede hacer sólo hay que imaginarlas y seguramente se pueden hacer.


En la siguiente edición #6:

Qué son las Bases de Datos


Apdo. Postal 321, C.P. 76800. San Juan del Río, Qro. México. (427)-271-2003
ESH Powered by Energia SH