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

La primera vez que ejecuté un servidor ocupado, tuve que esperar un momento adecuado para reiniciarlo cuando la mayoría de las personas no lo usaban. Me di cuenta de que el momento adecuado es alrededor de las tres de la mañana. Entonces, pensé para mis adentros: "Bueno, eso es un inconveniente, tengo que levantarme a una hora irrazonable solo para reiniciar un servidor". Cinco segundos después me di cuenta de que era un pensamiento estúpido. “Esto es Linux, estoy seguro de que es Es fácil automatizar esta sencilla tarea.” Y así, lo descubrí at.

La herramienta es muy fácil de usar. Simplemente puede pasar la hora y la fecha como un parámetro de línea de comando y luego ingresar uno o más comandos que desea ejecutar.

Cómo programar comandos en Linux usando la utilidad "at" - Linux

En un servidor, es útil tener un programa de este tipo porque a menudo desea tomar medidas sin ser monitoreado. Pero incluso en el escritorio at tal vez puedas ser Herramienta muy conveniente. Por ejemplo, supongamos que está descargando un archivo muy grande. puedes Programa tu computadora Para cerrar tarde en la noche. Además, puedes decir at Para recordarte las cosas que tienes que 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 diferentes distribuciones de Linux

En distribuciones Debian o basadas en Debian, ejecute el comando a través de la Terminal:

sudo apt install at

Cómo programar comandos en Linux usando la utilidad "at" - Linux

En Fedora, ejecute el comando:

sudo dnf install at

instalar "atEn Arch Linux:

sudo pacman -S at

Y en openSUSE:

sudo zypper install at

Habilitar el inicio automático del servicio”atDaemon funcionando

Algunas distribuciones habilitarán automáticamente el inicio de una herramienta”atEn el prefacio. Otras distribuciones no lo harán. Verifique con el comando:

systemctl is-enabled atd.service
Cómo programar comandos en Linux usando la utilidad "at" - Linux

Si la dirección está "Deshabilitada", puede habilitarla:

sudo systemctl enable atd.service

e iniciar daemon:

sudo systemctl start atd.service

Cómo especificar la fecha y la hora para programar los comandos "a las"

Puede utilizar cualquiera de los siguientes formularios.

1. La orden se ejecuta 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

Cómo programar comandos en Linux usando la utilidad "at" - Linux

2. Corre a tiempo:

at 23:10

Si ya son las 12:00, y ejecutas:

at 11:00

El comando se ejecutará mañana, a tiempo.

3. Ejecutar en fecha y hora:

at 12:00 December 31

Otros métodos alternativos para determinar la hora y la fecha se pueden encontrar en la guía en línea "en".

Cómo usar el comando “at"

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

Cómo programar comandos en Linux usando la utilidad "at" - Linux

Aquí, simplemente puede ingresar los comandos que desea ejecutar. Esto se ejecutará 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 haya terminado, presione Ctrl + D. Se mostrará cuando se presionen estas 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 no funcionará sudo Ya que nadie puede ingresar la contraseña. En su lugar, primero inicie sesión como usuario raíz:

sudo -i

Luego usa el comando “at" Normalmente. Ahora, todos los comandos se ejecutarán con privilegios de root, en lugar del usuario normal.

Después de programar el comando, escriba:

exit

Esto cerrará la sesión de la cuenta de usuario raíz.

Cómo programar comandos en Linux usando la utilidad "at" - Linux

En el ejemplo que se muestra en esta captura de pantalla, el apagado está programado a los XNUMX minutos. Puede adaptar esto para sus propios fines.

Si una computadora se apaga antes de que una tarea programada tenga la oportunidad de ejecutarse, simplemente se ejecutará en el siguiente arranque (si ha pasado su tiempo). Por ejemplo, si programa una tarea a las XNUMX:XNUMX p. m., la apaga a las XNUMX:XNUMX p. m. y luego la enciende a las XNUMX:XNUMX p. m., la tarea se ejecutará a las XNUMX:XNUMX p. m.

Ver y/o eliminar trabajos programados

Puede ver los trabajos en cola con:

atq

أو

at -l
Cómo programar comandos en Linux usando la utilidad "at" - Linux

Para averiguar qué comandos están programados en una tarea, use el número de prefijo para esa tarea.

at -c 22

Cómo programar comandos en Linux usando la utilidad "at" - Linux

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

Para eliminar una tarea, use su número de prefijo de la siguiente manera:

atrm 22

Programe "a las" para ejecutar aplicaciones gráficas

Primero, averigüe el valor de la variable de vista actual:

echo $DISPLAY

Por lo general, será: 0.

Planificación at correr. en pronta"at', establecer una variable DISPLAY sobre el valor anterior (exportar DISPLAY=:0), y ejecutar la aplicación gráfica deseada.

Cómo programar comandos en Linux usando la utilidad "at" - Linux

Los comandos utilizados en la captura de pantalla anterior harán lo siguiente.

Cómo programar comandos en Linux usando la utilidad "at" - Linux

Ahora la aplicación gráfica estará "en tu cara" y te recordará que hagas una tarea mejor que la alarma de un teléfono.

Conclusión

Usar "at" Fácil. La parte más difícil es encontrar un método creativo. Para tomar la acción que desea. Pero puede hacer casi cualquier cosa que desee, como iniciar una descarga, cerrar un programa, poner su computadora en modo de espera, etc.

Ir al botón superior