El demonio atd

Atd es un demonio que permite introducir órdenes con la orden at en un cola para su ejecución en un instante determinado. A diferencia de cron no es una ejecución periódica sino una ejecución única.

Funcionamiento de atd

El demonio atd se inicia o se detiene como cualquier otro servicio del sistema de la distribución correspondiente, por ejemplo:

/etc/rc.d/initd/atd start|stop|restart

aunque lo habitual es que se lance automáticamente al arrancar el sistema operativo.

Los ficheros de las distintas colas de los distintos usuarios se almacenan en el directorio /var/spool/at.

Cada usuario puede tener y gestionar sus propias colas de ejecución, aunque hay dos ficheros, /etc/at.allow y /etc/at.deny donde se pueden poner restricciones. En caso de existir el fichero /etc/at.allow, sólo los usuarios incluidos en este fichero podrán disponer de una cola propia. Si no existe /etc/at.allow pero sí existe un fichero /etc/at.deny, cualquier usuario incluido en este último fichero no podrá disponer de cola propia.

Las colas disponibles van desde la a a la z y desde la A a la Z. La cola predeterminada es la a. La cola b se utiliza como cola de ejecución cuando la carga del sistema es baja.

Introducir ficheros en la cola

Para introducir un fichero en una cola de ejecución tenemos que usar la orden at:

at [-q cola] [-f fichero] [-m] instante

-q indica la cola

-f el fichero de la órdenes

-m envía un correo de confirmación de la ejecución.

El instante se puede especificar de diversas formas, por ejemplo HH:MM para indicar una hora y minutos, now + 3 hours para indicar dentro de tres horas, como 8pm Feb 1 para indicar el uno de febrero a las 8 de la tarde.

Gestionar la cola

El demonio atd tiene dos órdenes para poder gestionar las colas de procesos:

Mostrar la cola

atq [-q cola]

muestra el contenido de las colas, o de alguna en concreto si la especificamos con la opción -q.

atq es equivalente a poner at -l.

Por ejemplo

# atq 2 2001-12-10 15:16 a root 3 2001-12-15 21:00 a root 4 2001-12-15 19:30 a root 5 2001-12-12 13:16 a root 6 2001-12-14 10:15 a root

Nos indicaría que hay 5 trabajos en espera de ejecución, todos ellos en la cola a y propiedad de root. El número de trabajo aparece a la izquierda.

La opción -l de at es equivalente a atq.

Eliminar trabajos de la cola

Para eliminar un trabajo de la cola tenemos

atrm número número …

y elimina los trabajos encolados con esos números.

La opción -d de at es equivalente a atrm.