Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unix 2 Crontab
Unix 2 Crontab
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 .
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
$ 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/*
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.
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