Está en la página 1de 4

Configuracin y uso de Atd.

Introduccin.
Acerca de at y batch.

Tanco at como batch se utilizan para programar la ejecucin de mandatos de una sola ocasin. En el
caso de que se requiera programar mandatos para ser ejecutados peridicamente, se sugiere hacerlo a
travs de crontab.
Ambos interpretan otros mandatos directamente desde la entrada estndar (STDIN) o a partir de un
archivo especificado. Mientras que at permite especificar que un mandato sea ejecutado a una hora y
fecha especficos, batch permite ejecutar st slo cuando descienden los niveles de carga de trabajo
del sistema hasta un nivel en particular. Ambos utilizan el intrprete de mandatos del sistema.
Equipamiento lgico necesario.

De modo predeterminado el servicio atd viene habilitado en los niveles de ejecucin 2, 3, 4 y 5 y


seguramente estar en ejecucin.
Salvo que se haya hecho algn cambio en el archivo /etc/sysconfig/atd, como por ejemplo para aadir
algn argumento al inicio del servicio, es innecesario reiniciar el servicio. La ejecucin de los mandatos
programados se realiza procesando el contenido de los archivos y directorios de configuracin
En CentOS, Fedora y Red Hat Enterprise Linux.

Si utiliza CentOS o Red Hat Enterprise Linux, el paquete at se incluye en la instalacin


predeterminada. De ser necesario, ejecute lo siguiente para instalar el paquete at:
yum -y install at

Para iniciar el servicio por primera vez, en caso de que recin se haya instalado atd, ejecute:
service atd start

En openSUSE y SUSE Linux Enterprise.

El paquete at se incluye en la instalacin predeterminada de openSUSE. Si fuese necesario, instale el


paquete at ejecutando lo siguiente:
yast -i at

Para iniciar el servicio por primera vez, en caso de que recin se haya instalado at, ejecute:
rcatd start

Procedimientos.
Archivos de configuracin /etc/at.allow y /etc/at.deny.

El archivo /etc/at.deny se utiliza para definir una lista de usuarios a los cuales se les denegar el uso de
at. Cuando este archivo est vaco, implica que todos los usuarios del sistema pueden hacer uso de at.
El archivo /etc/at.allow es inexistente de modo predeterminado. Cuando ste existe, slo los usuarios
listados en su interior pueden hacer uso de at.

En ausencia del archivo /etc/at.allow, el sistema utilizar siempre /etc/at.deny para el control de
acceso para at.
En ausencia de los archivos /etc/at.allow y /etc/at.deny, slo el usuario root puede hacer uso de at.
Directorio /var/spool/at.

Todos los mandatos programados con at y batch se almacenan dentro del directorio /var/spool/at.
Uso de at.

Puede utilizar at para ejecutar mandatos a una determinada hora y fecha.


Puede ingresar tiempos para at en el formato HH:MM. Cuando se ejecuta con una hora que ya ha
pasado, el sistema asume que se refiere al da siguiente. Tambin se pueden especificar valores como
midnight (media noche, 00:00), noon (12:00) o teatime (16:00). Ejemplo:
at 17:30

Para especificar la fecha se utiliza el formato nombre-del-mes da, siempre y cuando se especifique
despus de la hora de ejecucin. Ejemplo:
at 18:20 Sep 27

Opcionalmente tambin se puede definir el ao. Ejemplo:


at 18:20 Sep 27 2014

Tambin se puede especificar en el formato MMDDAAAA, MM/DD/AAAA o DD.MM.AAAA.


Ejemplos:
at 10:30 01152015
at 10:30 01/15/2015
at 10:30 15.01.2015

Los tres ejemplos anteriores ejecutan algo el 15 de enero de 2015 a las 10:30 AM.
Tambin es posible utilizar una hora especfica y establecer si se ejecuta ahora (now) ms unidades de
tiempo, como horas (hurs), das (days) y semanas (weeks). Ejemplo:
at 10:30 now + 15 days

Lo anterior establece se ejecute algo a las 10:30 AM dentro de 15 das.


at 10:30 now + 6 weeks

Lo anterior establece se ejecute algo a las 10:30 AM dentro de 6 semanas.


Tambin permite establecer la ejecucin utilizando today (hoy) y tomorrow (maana) como
argumentos. Ejemplo
at 12:25 tomorrow

El formato completo para la definicin de tiempo se puede consultar examinando el contenido del
archivo /usr/doc/at/timespec.

Una vez que se ejecuta at con alguna hora en particular, se escribe en pantalla el mandato o conjunto de
mandato deseados. Pulse CTRL-D para guardar los cambios y salir del intrprete de mandatos de at.
Utilizando la opcin -f se puede utilizar un archivo especfico en lugar de la entrada estndar.
at 10:30 today -f /home/usuario/bin/trabajo.sh

Que es lo mismo que ejecutar lo siguiente:


at 10:30 today < /home/usuario/bin/trabajo.sh

El manual completo de at puede consultarse ejecutando lo siguiente:


man 1 at

Uso de batch.

Puede utilizar batch para ejecutar mandatos cuando el nivel de carga del sistema cae por debajo de 0.8
o bien el valor que se especifique con atrun. Cabe sealar que batch slo permite el uso de la opcin -f
para definir el nombre de un archivo para ser utilizado en lugar de la salida estndar. Ejemplo:
batch -f /home/usuario/bin/trabajo.sh

Lo anterior es lo mismo que ejecutar lo siguiente:


batch < /home/usuario/bin/trabajo.sh

Para cambiar el valor de la carga mximo para poder ejecutar los mandatos programados con batch, se
ejecuta atrun con la opcin -l y el valor de carga deseado. Ejemplo:
atrun -l 0.9

Uso de atq.

Puede ejecutar atq para mostrar una lista de todos los mandatos pendientes. Cuando se ejecuta como
usuario regular muestra exclusivamente los mandatos pendientes de ese usuario en particular. Ejemplo:
atq

La salida de lo anterior cuando hay mandatos pendientes puede ser similar a la siguiente.
7
5
8
6

Tue
Thu
Wed
Thu

Sep
Jan
Sep
Jan

25
15
26
15

14:30:00
10:30:00
14:30:00
10:30:00

2012
2015
2012
2015

a
a
a
a

fulano
fulano
root
zutano

Cabe sealar que atq es en realidad un atajo de at con la opcin -l.


at -l

Lo anterior mostrar todos los mandatos pendientes de todos los usuarios cuando se ejecuta como root.
Uso de atrm.

Puede utilizar atrm para eliminar mandatos pendientes, utilizando el nmero de mandato como
argumento. Ejemplo:

atrm 2

Lo anterior es lo mismo que ejecutar lo siguiente:


at -d 2

También podría gustarte