Tareas programadas II

By 19 de mayo de 2007 Linux One Comment

crontab_generator.gifLa programación de los comandos resulta útil para ejecutar comandos que requieren un uso intensivo de los recursos del sistema cuando la carga de trabajo de éste sea ligera o para ejecutar rutinariamente comandos a horas determinadas. Por ejemplo, puede programar la impresión de un archivo largo para la medianoche o la eliminación diaria de los archivos temporales del directorio inicial.

at(1)

El comando at ejecuta los comandos en el directorio inicial a la hora que usted especifique.

crontab(1)

El comando crontab ejecuta los comandos en el directorio inicial a intervalos especificados regularmente.

 

 

Requisitos previos para utilizar los comandos at y crontab

Para que usted pueda utilizar los comandos crontab o at, el administrador del sistema debe configurar antes determinados archivos que permiten que el sistema le conceda permiso para ejecutar dichos comandos.

Hay dos archivos, que se llaman at.allow y at.deny y se ubican en el directorio /usr/lib/cron, que determinan si usted puede utilizar el comando at. Si su nombre aparece en at.allow, puede utilizarlo.

Si el archivo at.allow no existe, el sistema comprueba si su nombre está en el archivo at.deny. En caso afirmativo, se le denegará el acceso al comando at.

Si no existen ni el archivo at.allow ni el archivo at.deny, los únicos que pueden utilizar el comando at son quienes tengan permiso de superusuario. Si sólo existe el archivo at.deny y éste está vacío, todos los usuarios podrán utilizar el comando at.

El permiso para utilizar el comando crontab se determina de la misma forma, con la diferencia de que los archivos se llaman cron.allow y cron.deny.

Para obtener más información, consulte las páginas de manual at(1) y crontab(1).

 

 

Ejecución de comandos con el comando at

Supongamos que desea imprimir un archivo largo por la noche cuando la carga de trabajo del sistema sea ligera. Con la siguiente secuencia del comando at se imprime el archivo “archivogrande” a las 4:00 de la mañana.

at 4am (Escriba el comando at)

lp archivogrande (Escriba el comando programado para su ejecución posterior.)

Ctrl-D (Termine el comando presionando Ctrl-D.)

También puede especificar una fecha. Por ejemplo, para imprimir un mensaje el 10 de abril, a las 3:30, utilice los siguientes comandos:

at 3:30am Apr 10

echo “hora de ir a casa” > /dev/console

Ctrl-D

Para obtener una lista de los trabajos programados con at, escriba:

at -l

Obtendrá una salida así:

job 8745156.a at wed Sep 17 11:00:00 1997

 

 

Presentación de trabajos por lotes

batch(1)

También puede utilizar el comando batch para presentar un archivo por lotes. Por ejemplo:

 

$ batch

nroff nombre_archivo > archivo_salida

Ctrl-D

Este comando ejecuta un comando nroff cuando el sistema puede gestionarlo. Para obtener información más pormenorizada, consulte la página de manual at (1).

 

 

Ejecución de comandos con el comando crontab

Puede utilizar el comando crontab para ejecutar comandos a intervalos regulares. Por ejemplo, puede enviar a su buzón un recordatorio semanal de correo electrónico en relación con una reunión o borrar todos los días todos los archivos “tmp”.

El comando crontab crea un archivo con su nombre de usuario en el directorio /var/spool/cron/crontabs. Los comandos del archivo se ejecutan conforme a los intervalos especificados en el directorio inicial.

Cada línea de un archivo crontab contiene seis campos separados por espacios o tabulaciones. Los primeros cinco campos especifican la hora a la que se ejecutará el comando:

minuto (0-59)
hora (0-23)
día del mes (1-31)
mes del año (1-12)
día de la semana (0-6, donde 0=domingo)

El sexto campo es una cadena que se ejecuta a la hora apropiada.

Para crear un archivo de comando crontab, escriba:

 

$ crontab

A continuación, escriba los comandos que desee programar y presione Ctrl-D.

 

30  8  * * 4  echo “Reunión de personal hoy a las 10:00 AM”
 0  0  * * *   rm *.tmp 2 > errfile

Ctrl-D

El archivo crontab se interpreta del modo siguiente:

El jueves a las 8:30, crontab le envía un recordatorio de la reunión del personal planificada para las 10:00. El primer campo (30) indica 30 minutos después de la hora. El segundo campo especifica la hora (8). Los asteriscos corresponden a los valores legales. El 4 significa jueves.

Todos los días, a medianoche, crontab borra los archivos de su directorio que tengan la extensión *.tmp. Los mensajes de error se desvían a un archivo que se llama errfile y está ubicado en el directorio inicial.

Listado de las entradas de crontab

Para obtener una lista de las entradas actuales del comando crontab, utilice la opción -l.

 

$ crontab -l

Para obtener más información, consulte la página de manual crontab(1).

Fuente: hp.com

One Comment

Leave a Reply

Your email address will not be published.