¿En qué podemos ayudarte?
<< Regresar
Estas aquí:
Imprimir

Tareas no periódicas

AT

Previamente hemos hablado del uso de cron que se ejecuta de forma periódica, de modo que las tareas programadas siempre serán realizadas siguiendo los criterios de temporalización programados.

A diferencia de cron, las tareas que son encomendadas a at ( y su demonio, atd) sólo se realizarán una vez. Es decir, la utilidad at se utiliza para programar una tarea que se llevará a cabo en un momento determinado, y no se volverá a ejecutar.

Las utilidades que se pueden encontrar directamente relacionadas con at son:

  • at: comando que se utiliza para añadir nuevas tareas,
  • atd: es el demonio responsable de ejecutar las tareas programadas desde at
  • atq: muestra la lista de tareas pendientes a ejecutar (por el usuario que llama al comando)
  • atrm: elimina una tarea de la lista de pendientes.

Instalación de at en el sistema

Ya sea que el sistema cuente o no con at instalado sólo bastará escribir cualquiera de las dos siguientes instrucciones, dependiendo su sistema para instalar at:

apt-get install at
yum install at

Ficheros implicados y utilización

Al igual que en el caso de cron, los ficheros relacionados con at son:

  • /etc/at.allow: si existe, sólo los usuarios listados en este fichero tienen permiso para ejecutar la utilidad.
  • /etc/at.deny: si existe este fichero, y no el anterior, los usuarios detallados en él no pueden ejecutar at, obviamente esto incluye a atrm y a atq.

En caso de que no se encuentre ninguno de los archivos anteriores, sólo root podrá emplear at.
Normalmente, después de la instalación se dispone del fichero /etc/at.deny, aunque vacío, de modo que todos los usuarios tienen acceso a la orden at.

El empleo de at es bastante sencillo y su uso también. La sintaxis que se utiliza es la orden (at) seguido de los parámetros:

  • HH:MM por ejemplo, 04:00 especifica las 4:00 am. En caso de que la hora especificada sea menor a la actual se ejecutará al día siguiente.
  • midnight especifica a media noche, 12:00 am
  • noon especifica las 12:00 pm, medio día.
  • now para ser ejecutado ahora.
  • teatime sería a las 4:00 pm.
  • today considera el día de hoy.
  • tomorrow para ser ejecutado al día siguiente.
  • Formato nombre-mes día año por ejemplo January 15 2002, especifica el 15 de enero del 2002, el año es opcional.
  • Formatos MMDDYY, MM/DD/YY, o MM.DD.YY por ejemplo 011502 para el 15 de enero de 2002
  • now + time time es en minutos, horas, días o semanas, por ejemplo now + 5 days significa que la instrucción deberá ser ejecutada al mismo tiempo, cinco días a partir de ahora .

La construcción básica es:

at HH[:]MM[am|pm] [Mes día]

A continuación se proponen algunos ejemplos de utilización:

at 10am tomorrow
at 10am Jun 30
at 1730 Feb 28 + 3 days
  • La primera tarea se ejecutará a las 10 am del día de mañana
  • La segunda tarea se ejecutará a las 10 am el 30 de junio
  • La tercera tarea se ejecutará a las 5:30 pm 3 días después del 28 de febrero.

Para que ejecute en el momento programado las 12 AM del día siguiente un script preparado por el usuario, se debe indicar del siguiente modo:

at 12am tomorrow < script.sh

El cometido del script puede ser, por ejemplo, un backup de archivos de usuario o la sincronización de archivos, entre otros.

Video sobre el uso de AT

Programación de tareas con AT.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Tabla de contenidos