at: breve introducción a la temporización de órdenes

Relojes y Tux
El comando “at” es similar al famoso “cron” en ciertos aspectos. Con este tipo de comandos podremos ejecutar una acción requerida en un determinado tiempo, hora, mes, día,… programando así su ejecución y despreocupandonos de estar pendientes de la administración de esa instrucción por nuestra cuenta.

Esto es muy útil a la hora de administrar servidores o equipos que necesitan cierto grado de mantenimiento periódico, pudiendo dejar programadas ciertas tareas. Pero también es muy útil para los usuarios domésticos que les sirve como temporizador de órdenes.
La diferencia entre “at” y “cron” es que “at” no es persistente, es decir, si reiniciamos o apagamos el ordenador se perderá la configuración y la orden no volverá a ejecutar. Sin embargo “cron” si lo es y se ejecutará siempre hasta que no ordenemos lo contrario.

Veamos un ejemlo. Imagina que estás trabajando con los puertos GPIO de la Raspberry Pi, en los que tenemos conectado un LED, y deseas ejecutar la orden de encendido del LED (echo 1 > /sys/class/gpio/gpio17/value) a las 13:26. Si queremos que esto se haga automáticamente, podemos teclear lo siguiente:

at 13:26

Luego veremos como nos aparece una especie de “prompt” diferente. Tras él deberemos ejecutar las órdenes que deseamos temporizar para dicha hora. El nuevo indicador es algo así:

warning: commands will be executed using /bin/sh
at>

A lo que debemos añadir nuestra orden, quedando en nuestro caso así:

at> echo 1 > /sys/class/gpio/gpio17/value

Ahora salimos de AT con las teclas Ctrl+D y se nos muestra un mensaje bastante útil a la hora de matar el proceso cuando no queramos que se vuelva a ejecutar. De lo contrario, se seguirá ejecutando todos los días a dicha hora mientras no apagues o reinicies el PC. Fijate que te da el número de proceso, apuntalo, te será útil:

job 3 at Sun Oct 8 13:26:00 2014

Como vemos, el ID correspondiente al proceso es el 3. Si no estas seguro o tienes más de una orden en ejecución, puedes consultarlo con:

atq

Cuando quieras que la orden deje de ejecutarse, puedes romper la programación con (en nuestro caso el proceso 3):

atrm 3


Isaac P. E.

Soy un apasionado de la tecnología y me encanta compartir, pero sobre todo aprender cada día más. Me gusta todo lo que tenga que ver con la ciencia y leer sobre esta temática. En mi tiempo libre escribo un libro sobre microprocesadores, mi tema favorito. También me gusta realizar diseños electrónicos en Basic Stamp, Arduino, además me encanta jugar con Linux. Algunos de mis estudios son: - Módulo superior de electrónica y microelectrónica. - Módulo de domótica. - Experto en gestión medioambiental en la empresa. - Técnico en prevención en la industria. - Técnico en montaje y reparación de ordenadores. - Técnico en reparación de portátiles. - Técnico en redes informáticas. - Curso GNU/Linux. Otros conocimientos: inglés, ofimática, programación en diversos lenguajes (C, KOP, VHDL, PBASIC, Arduino y HTML), conocimientos avanzados de Windows y Linux,...

Escribe un comentario