La primera vez que administré un servidor ocupado, tuve que esperar un momento conveniente para reiniciarlo cuando la gente no lo estaba usando. Noté que esto sucedió alrededor de las 3 a.m. Entonces pensé: «Bueno, eso es vergonzoso, tengo que despertarme a una hora irrazonable solo para reiniciar el servidor». Cinco segundos después, me di cuenta de que era un mal pensamiento. «Es Linux, estoy seguro de que es fácil automatizar una tarea tan sencilla». Entonces, at
fue descubierto.
La utilidad es muy fácil de usar. Simplemente pase la hora y la fecha como un parámetro de línea de comando, luego ingrese uno o más comandos que desee ejecutar.
Es útil tener un programa de este tipo en un servidor, ya que a menudo desea actuar sin supervisión. Pero incluso en un escritorio at
puede ser una herramienta muy útil. Por ejemplo, suponga que carga un archivo muy grande. Puede programar su PC para que se apague a altas horas de la noche. Tu tambien puedes entenderlo at
para recordarle las cosas que debe hacer. Casi cualquier acción que se le ocurra se puede planificar con las herramientas adecuadas y las opciones de línea de comandos adecuadas.
Cómo instalar «en» en diferentes distribuciones de Linux
En Debian o distribuciones basadas en Debian, ejecute:
sudo apt install at
En Fedora, ejecute:
sudo dnf install at
Para instalar «en» en Arch Linux:
sudo pacman -S at
Y en openSUSE:
sudo zypper install at
Activar el inicio automático del demonio y ejecutar «en»
Algunas distribuciones activan automáticamente el demonio «on» al inicio. Otros no lo hacen. Verifícalo con:
systemctl is-enabled atd.service
Si indica «desactivado», actívelo con:
sudo systemctl enable atd.service
Y lanza al demonio:
sudo systemctl start atd.service
Cómo especificar la fecha y la hora para programar pedidos «hasta»
Puede utilizar uno de los siguientes formularios.
1. Ejecute el comando durante el número especificado de minutos, horas, días o semanas.
at now + 10 minutes at now + 10 hours at now + 10 days at now + 10 weeks
2. Ejecutar en el momento correcto:
at 23:10
Si ya son las 12:00 p.m. y corres:
at 11:00
Entonces, el comando se ejecutará mañana a la hora especificada.
3. Ejecutar a la hora y fecha exactas:
at 12:00 December 31
Otras formas alternativas de especificar la hora y la fecha se pueden encontrar en manual «a» en línea.
Cómo utilizar el comando «to»
Como notó, después de especificar la hora programada, termina con una solicitud que se parece a la siguiente imagen:
Aquí, simplemente ingrese los comandos que desea ejecutar. Estos funcionará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 haya terminado, presione control + D. <EOT>
aparecerá cuando presione estos botones, seguido de la hora a la que se ejecutarán los comandos.
Si desea ejecutar comandos que requieren privilegios de root, no utilice sudo
. Recuerde que el comando se ejecutará sin supervisión, por lo que sudo
no funcionará porque nadie puede ingresar la contraseña. En su lugar, inicie sesión como root primero:
sudo -i
Y luego use el comando «to» normalmente. Ahora todos los comandos se ejecutarán como root, en lugar del usuario normal.
Después de programar su pedido, escriba:
exit
Esto le cerrará la sesión de la cuenta de usuario root.
En el ejemplo proporcionado en esta captura de pantalla, se programó un apagado en dos minutos. Puede adaptarlo a sus propios fines.
Si la computadora se apaga antes de que se pueda ejecutar una tarea programada, simplemente se ejecutará en la siguiente carga (si ya pasó el tiempo). Por ejemplo, si programa una tarea para las 3:00 p.m., se detiene a las 2:00 p.m. y comienza a las 4:00 p.m., la tarea se ejecutará a las 4:00 p.m.
Ver y / o eliminar tareas programadas
Puede ver los trabajos en la cola con:
atq
o entonces
at -l
Para ver qué comandos están programados en una tarea, use el número de prefijo para esa tarea.
at -c 22
Las últimas líneas de salida le mostrarán los pedidos planificados.
Para eliminar una tarea, use el número de prefijo de la siguiente manera:
atrm 22
Programa «to» para ejecutar aplicaciones gráficas
Primero, busque el valor de visualización de la variable actual:
echo $DISPLAY
Por lo general será :0
.
Programa at
Clase. En el mensaje «a», establezca DISPLAY
variable en comparación con el valor anterior (export DISPLAY=:0
) y ejecute la aplicación de gráficos deseada.
Los comandos utilizados en la captura de pantalla anterior darían como resultado lo siguiente.
A partir de ahora, la aplicación de gráficos estará «frente a usted» y le recordará los trabajos importantes mejor que una alarma telefónica.
Conclusión
Usar «en» es sencillo. La parte más difícil es encontrar una forma creativa de realizar la acción deseada. Pero puedes hacer casi todo lo que quieras, como iniciar una descarga, cerrar un programa, poner tu computadora en suspensión, etc.