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

La primera vez que manejé un servidor ocupado, tuve que esperar el momento oportuno para reiniciarlo cuando la gente no lo estaba usando. Noté que esto sucedió alrededor de las 3 de la madrugada. Entonces, pensé para mí mismo: «Bueno, esto es un inconveniente, tengo que despertarme a una hora poco razonable para reiniciar mi servidor.» Cinco segundos después me di cuenta de que era una idea estúpida. «Esto es Linux, estoy seguro de que es fácil automatizar una tarea tan simple.» Y así, se descubrió at.

La utilidad es muy fácil de usar. Sólo tiene que pasar la hora y la fecha como parámetro de línea de comandos y, a continuación, introducir uno o más comandos que desee que se ejecuten.

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

Relacionado La guía para principiantes para usar Cron para programar tareas en Linux

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

En Debian o distribuciones basadas en Debian, ejecute:

sudo apt install at

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

En Fedora, corre:

sudo dnf install at

Para instalar «at» en Arch Linux:

sudo pacman -S at

Y, en openSUSE:

sudo zypper install at

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Habilitar el inicio automático de «at» Daemon y ejecutar servicio

Algunas distribuciones habilitarán automáticamente el inicio del demonio «at» al arrancar. Otros no lo harán. Compruébelo con:

systemctl is-enabled atd.service

Si dice «desactivado», habilítelo con:

sudo systemctl enable atd.service

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Y enciende el demonio:

sudo systemctl start atd.service

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

Puede utilizar cualquiera de los siguientes formularios.

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

2. Ejecutar en el momento exacto:

a las 23:10

Si ya son las 12:00, y corres:

a las 11:00

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

3. Ejecutar a la hora y fecha exactas:

a las 12:00 31 de diciembre 

Otras formas alternativas de especificar la hora y la fecha se pueden encontrar en el manual online «at» .

Cómo usar el comando «at»

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

Aquí, simplemente se introducen los comandos que se desean ejecutar. Estos se ejecutarán bajo su nombre de usuario actual. Escriba el comando que desea ejecutar a una hora determinada y pulse Intro. Si desea ejecutar un comando posterior, repita el mismo procedimiento. Cuando haya terminado, pulse Ctrl + D. se mostrará cuando pulse 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 introducir la contraseña. En su lugar, primero inicie sesión como usuario root:

sudo -i

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

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

Después de programar su comando, escriba:

exit

Esto le permitirá salir de la cuenta de usuario root.

En el ejemplo ofrecido en esta captura de pantalla, se programó un apagado en dos minutos. Puede adaptarlo para sus propios fines.

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

Ver y/o eliminar trabajos programados

Puede ver los trabajos en cola con:

atq

o

en -l

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

at -c 22

Las últimas líneas de salida le mostrarán los comandos programados.

Para eliminar un trabajo, utilice su número de prefijo de la siguiente manera:

atrm 22

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Programar «at» para ejecutar aplicaciones gráficas

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

echo $DISPLAY

Normalmente, será :0.

Programar en para que se ejecute. En el indicador «at», ajuste la variable DISPLAY al valor anterior (export DISPLAY=:0) y ejecute la aplicación gráfica deseada.

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

Ahora la aplicación gráfica estará «en tu cara» y te recordará un trabajo importante mejor de lo que lo haría una alarma telefónica.

Conclusión

Usar «at» es fácil. La parte más difícil es encontrar una manera creativa de tomar una acción que usted desea. Pero puede hacer casi todo lo que quiera, como iniciar una descarga, cerrar un programa, poner el equipo en modo de espera, etc.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *