Está en la página 1de 3

Pgina 1 de 2 La utilera cron en los sistemas operativos tipo Unix es una herramienta que nos permite programar tareas

o ejecuciones de procesos ya sea por semana, por da por mes o por horas o hasta por minutos. Para tener una mayor nmero de herramientas para programar tareas es recomendable conocer los comandos bsicos de Unix , el uso del editor VI y la programacin en shell de Unix .

Permisos para usar y editar los crontabs


Antes de iniciar con las sintaxis y comandos cron de Unix, es necesario hacer una rpida revisin al sistema de restricciones para los usuarios. Para que un usuario pueda ejecutar la instruccin crontab, lo primero que se tiene que hacer es revisar y en su caso otorgar permisos de modificar su archivo crontab. La configuracin de los permisos a los usuarios se realiza con dos archivos cron.allow y cron.deny y con base en ellos podemos tener diferentes configuraciones: Para que un usuario pueda utilizar el comando crontab debe aparecer su nombre en el archivo cron.allow. Si el archivo cron.allow no existiera el usuario podr acceder si su nombre NO existe en el archivo cron.deny. Si slo existe el archivo cron.deny pero est en blanco, todos los usuarios podrn hacer uso del crontab. Si no existiese ninguno de los dos archivos, solo el usuario root podr hacer uso de los comandos para programar el cron Para la sintaxis de los archivos cron.allow y cron.deny es nicamente necesario escribir un nombre de usuario por lnea.

Sintaxis crontab
La sintaxis crontab es la siguiente: $ crontab [-e | -l | -r ] [usuario] Le parmetro -e indica la edicin del cron, -l ver las tareas programadas en el archivo cron y -r remover (borrar) un archivo cron. Si no se especifica el usuario, el comando se ejecutar para el usuario en sesin

Editar los crontabs


Una vez que ya tienes permisos de usuario para ejecutar crontab vamos a comenzar a editar el archivo crontab con la instruccin:

$ crontab -e 0 Con este comando se abrir el editor de texto predeterminado, si prefieres utilizar vi como editor de texto predeterminado basta con definir la variable de ambiente EDITOR=vi. Para salir del modo edicin basta con escribir q[Enter]. En la configuracin del crontab le definiremos la frecuencia con que queremos que se ejecute un proceso y la ubicacin del shell que vamos a programar con la siguiente sintaxis que especifica el intervalo de repeticin de la tarea: * * * * * comando o programa a ejecutar | | | | | | | | | |----- da de la semana (0 - 6) (0-> Domingo) | | | |------- Mes (1 - 12) | | |--------- Da del mes (1 - 31) | |----------- Hora (0 - 23) |------------- Minuto (0 - 59) La tarea se ejecutar de acuerdo a estos parmetros, por ejemplo si quisieras ejecutar el programa /export/home/respaldo.sh todos los das viernes a las 3 de la maana la sintaxis sera la siguiente: 0 3 * * 4 /export/home/respaldo Para especificar ms de un valor en un registro se puede utilizar la coma (,) para separar los valores; en el ejemplo anterior puedes definir que la tarea se repita los lunes y los viernes a las 3 de la maana de la siguiente manera: 0 3 * * 1,4 /export/home/respaldo

Ejemplos de repeticin
30 10 * * * Todos los das a las 10:30 hrs. 0 0 1,10,20 * * Los das 1, 10 y 20 de cada mes a la media noche. 0,30 * * * 1 Cada 30 minutos los das lunes, (00:00hrs., 00:30hrs., 01:00hrs. ). 0 22 * 1,2,3,4,5,6,7 * 5 El primer viernes de cada mes a las 10 de la noche. Tambin puedes programar una tarea para ejecute todos los archivos de una carpeta, por ejemplo: 0 3 * * 1,4 /export/home/actualizareportes/*

Ambiente del cron


Cuando se invoca una tarea programada con el cron se ejecuta con las siguientes variables de ambiente:

HOME=(directorio home del usuario) LOGNAME=(nombre de usuario) PATH=/usr/bin:. SHELL=/usr/bin/sh Si requieres ejecutar una tarea programada con variables de ambiente diferentes o agregar algunas otras variables de ambiente a la ejecucin, es recomendable programar un script o programa shell que defina las variables de ambiente y luego ejecute la tarea.

Log o bitcora de errores


Para configurar que la ejecucin de una tarea genere un archivo con la informacin de la ejecucin del cron puedes dirigir mediante la salida estndar haca el archivo que lo requieras, por ejemplo: 0 3 * * 1,4 /export/home/respaldo > /export/home/respaldo.log As se generar o sobrescribir el archivo /export/home/respaldo.log cada vez que se ejecute la tarea programada.

Archivos cron
Los archivos que determinan el funcionamiento de los trabajos programados con cron en Unix son los siguientes: /etc/cron.d/cron.allow /etc/cron.d/cron.deny /etc/cron.d/FIFO /var/spool/cron/crontabs/* Si por alguna razn se cerr el proceso cron y lo quieres reiniciar pero te marca el siguiente error: ! cannot start cron; FIFO exists ! ******* CRON ABORTED ******** Tendras que borrar el archivo /etc/cron.d/FIFO y ejecutar nuevamente: $ /usr/sbin/cron

También podría gustarte