Cómo programar comandos en Linux con la utilidad "at"

Cómo programar comandos en Linux con la utilidad «at»

La primera vez que administré un servidor ocupado, tuve que esperar el momento oportuno para reiniciarlo cuando la gente no lo estaba usando. Me di cuenta de que esto sucedió alrededor de las 3 a.m. Entonces, pensé para mis adentros: «Bueno, esto es un inconveniente, tengo que despertarme a una hora irrazonable solo para reiniciar mi servidor». Cinco segundos después me di cuenta de que era un pensamiento estúpido. “Esto es Linux, estoy seguro de que es fácil automatizar una tarea tan simple”. Y entonces, at fue descubierto.

La utilidad es muy fácil de usar. Simplemente pasa la hora y la fecha como un parámetro de línea de comando y luego ingresa uno o más comandos que desea que se ejecuten.

En un servidor, es útil tener un programa de este tipo porque a menudo desea que realice acciones, sin supervisión. Pero incluso en un escritorio at puede ser una herramienta muy conveniente. Por ejemplo, supongamos que descarga un archivo muy grande. Puede programar su PC para que se apague hasta altas horas de la noche. Además, puedes decir at para recordarle las cosas que debe hacer. Prácticamente cualquier acción que se te ocurra se puede programar con las herramientas adecuadas y las opciones de la línea de comandos.

Cómo instalar «at» en varias distribuciones de Linux

En Debian o distribuciones basadas en Debian, ejecute:

linux-en-instalación-en-debian

En Fedora, ejecute:

Para instalar “at” en Arch Linux:

Y, en openSUSE:

Habilite el inicio automático de «at» Daemon y ejecute el servicio

Algunas distribuciones habilitarán automáticamente el inicio del daemon «at» en el arranque. Otros no lo harán. Verifícalo con:

systemctl is-enabled atd.service

linux-at-is-enabled-atd

Si dice «deshabilitado», habilítelo con:

sudo systemctl enable atd.service

E inicia el demonio:

sudo systemctl start atd.service

Cómo especificar fecha y hora para programar comandos «at»

Puede utilizar cualquiera de los siguientes formularios.

1. Ejecute el comando después de un número específico de minutos, horas, días o semanas.

at now + 10 minutes
at now + 10 hours
at now + 10 days
at now + 10 weeks

linux-en-ahora-más-6-días

2. Ejecutar a la hora exacta:

Si ya son las 12:00 y ejecutas:

Entonces el comando se ejecutará mañana, a la hora especificada.

3. Ejecutar a la hora y fecha exactas:

Otras formas alternativas de especificar la hora y la fecha se pueden encontrar en el manual en línea «arroba».

Cómo usar el comando «at»

Como habrás notado, después de especificar la hora programada, aparece un mensaje que se parece a la siguiente imagen:

linux-en-prompt

Aquí, simplemente ingrese los comandos que desea ejecutar. Estos se ejecutarán con su nombre de usuario actual. Escriba el comando que desea ejecutar en un momento específico y presione Entrar. Si desea ejecutar un comando posterior, repita el mismo procedimiento. Cuando termines, presiona Ctrl + D. <EOT> se mostrará cuando presione esas teclas, seguido de la hora en que se ejecutarán los comandos.

Si desea ejecutar comandos que requieren privilegios de root, no use sudo. Recuerde, el comando se ejecutará sin supervisión, por lo que sudo no funcionará porque nadie puede ingresar la contraseña. En su lugar, primero inicie sesión como usuario raíz:

Y luego use el comando «at» normalmente. Ahora, todos los comandos se ejecutarán como root, en lugar de su usuario habitual.

Después de programar su comando, escriba:

Esto lo desconectará de la cuenta de usuario raíz.

linux-a-la-programación-apagado

En el ejemplo que se ofrece en esta captura de pantalla, se programó un apagado en dos minutos. Puede adaptar esto para sus propios fines.

Si la computadora se apaga antes de que un trabajo programado tenga la oportunidad de ejecutarse, simplemente se ejecutará en el siguiente arranque (si ha pasado su tiempo). Por ejemplo, si programa un trabajo a las 3:00 p. m., lo apaga a las 2:00 p. m. y lo enciende a las 4:00 p. m., el trabajo se ejecutará a las 4:00 p. m.

Ver y/o eliminar trabajos programados

Puede ver los trabajos en cola con:

o

linux-en-la-cola-de-vista

Para ver qué comandos están programados en un trabajo, use el número de prefijo de ese trabajo.

linux-en-gato-trabajo

Las últimas líneas de salida le mostrarán los comandos que programó.

Para eliminar un trabajo, use su número de prefijo como este:

Programe «a las» para ejecutar aplicaciones gráficas

Primero, averigüe el valor de la variable de visualización actual:

Por lo general, será :0.

Calendario at correr. En el indicador «at», configure el DISPLAY variable al valor anterior (export DISPLAY=:0) y ejecute la aplicación gráfica deseada.

linux-en-la-aplicación-gráfica

Los comandos utilizados en la captura de pantalla anterior darían como resultado lo siguiente.

linux-en-libreoffice-programado-abierto

Ahora la aplicación gráfica estará «en tu cara» y te recordará un trabajo importante mejor que la alarma de un teléfono.

Conclusión

Usar «at» es fácil. La parte más difícil es encontrar una forma creativa de realizar la acción que deseas. Pero puede hacer prácticamente cualquier cosa que desee, como iniciar una descarga, cerrar un programa, poner su computadora en modo de espera, etc.

Experto Geek - Tu Guía en Tendencias Tecnológicas