1. Actualice el repositorio de paquetes:
2. Instale el at
comando ejecutando:
1. Actualice el repositorio de paquetes:
2. Ejecute el siguiente comando para instalar at
:
El demonio de programación se ejecuta en segundo plano y ejecuta los trabajos programados a tiempo.
Opción | Descripción |
-V | Imprime el número de versión del programa en la salida estándar. |
-q [queue] | Utiliza el [queue] especificado que consta de una sola letra, que va desde a -z y A -Z . El a la cola es la predeterminada para at y el b la cola es la predeterminada para batch . Las colas con letras más altas se ejecutan con mayor amabilidad. Enviar un trabajo a una cola con una letra mayúscula trata el trabajo como enviado a batch . El batch las reglas de promedio de carga se aplican una vez que es el momento de ejecutar el trabajo. Asignar una cola a atq hace que muestre solo los trabajos pendientes en esa cola. |
-m | Envía un correo electrónico al usuario una vez finalizado el trabajo, incluso si no hubo resultados. Requiere una dirección de correo electrónico configurada para el usuario que programó el trabajo. |
-f [file] | Lee el trabajo del [file] especificado en lugar de desde la entrada estándar. |
-b | Un alias para batch . Programa trabajos y los ejecuta en un batch cola cuando el promedio del nivel de carga del sistema es inferior a 1,5. |
-l | Un alias para atq . Enumera los trabajos pendientes del usuario. Si el usuario es superusuario, enumera los trabajos pendientes de todos los usuarios. |
-d | Un alias para atrm . Elimina los trabajos programados, identificados por su número de trabajo. |
-v | Muestra el tiempo de ejecución del trabajo antes de leer el trabajo. El formato de hora es Thu Feb 20 14:50:00 1997 . |
-c | Cats el trabajo especificado, mostrando su contenido en la salida de línea de comandos estándar. |
-t [time_arg] | Programa un trabajo para el tiempo especificado por el [time_arg] argumento. El formato de hora aceptado es [[CC]YY]MMDDhhmm . |
[runtime]
Expresiones de tiempo
Programe un trabajo usando expresiones de tiempo absoluto o expresiones de tiempo relativas al tiempo de configuración del trabajo.
Las expresiones de tiempo absoluto disponibles son:
YYMMDDhhmm[.ss]
. Especifique un año, mes, día, hora, minuto y, opcionalmente, segundos abreviados.
CCYYMMDDhhmm[.ss]
. Especifique un año completo, mes, día, hora, minuto y, opcionalmente, segundos.
now
. Indica el día y la hora actual y la ejecución inmediata.
midnight
. Indica las 00:00 a. m.
noon
. Indicando las 12:00 p. m.
teatime
. Interpretado como 4 PM.
AM
. Indica la hora antes de las 12:00 p. m.
PM
. Indica la hora después de las 12:00 p. m.
today
. El día actual.
tomorrow
. El día después del día actual.
Por ejemplo, el siguiente comando programa una invocación del comando echo a las 5:00 p. m.:
echo "hello" | at 5PM
Especifique una expresión de tiempo relativo agregando un signo más (+
), la cantidad y uno de los siguientes:
minutes
hours
days
weeks
months
years
Usar expresiones de tiempo como tomorrow
o tuesday
, programa los trabajos en esos días a la hora actual. Especifique aún más la hora usando +
personaje.
Por ejemplo, el siguiente comando programa un echo
invocación del comando cinco minutos después de programar el trabajo:
echo "hello" | at now +5 minutes
Medio ambiente
El SHELL
el valor de la variable de entorno determina qué shell (bash, zsh, etc.) at
utiliza el comando para ejecutar el trabajo. Al programar el trabajo, el comando advierte al usuario qué shell utilizará durante la ejecución.
Linux en ejemplos de comandos
La siguiente sección demuestra útiles at
ejemplos de comandos.
Programar un trabajo de forma interactiva
El at
le permite programar un trabajo usando el comando interactivo at
oportuno. Abra el aviso interactivo usando la siguiente sintaxis:
at [runtime]
El indicador interactivo le permite ingresar qué comandos ejecutar en el momento especificado. El comando también imprime una advertencia que indica qué shell usará el comando.
Salga del indicador interactivo y guarde el trabajo programado presionando Ctrl + D . Cancele el trabajo con Ctrl + C .
Por ejemplo:
En el ejemplo anterior, programamos un trabajo para las 5 p. m., lo que abre el indicador interactivo. El trabajo programado es ejecutar el echo
y la utilidad usa el shell bash estándar.
Transferir un trabajo a at
Programe un trabajo sin el at
interactivo solicitud mediante la canalización de comandos a at
y especificando el tiempo de ejecución. Usar echo
o printf para pasar los comandos a at
.
Por ejemplo:
echo "command_to_run" | at [runtime]
Para programar una at
trabajo que envía el echo
salida del comando a un archivo, use:
echo "hello" >> example.txt | at now
Use el comando cat para verificar si el archivo existe para asegurarse de que se ejecutó el trabajo:
cat example.txt
Ver un trabajo programado
El -c
La opción muestra el contenido de un trabajo programado previamente. La opción es útil si olvida cuál era el trabajo o desea verificar la hora programada.
Ver el contenido de un at
programado trabajo usando la siguiente sintaxis:
at -c [job_number]
Obtenga el número de trabajo ejecutando atq
Comando primero para enumerar todos los trabajos pendientes.
Por ejemplo:
En el ejemplo anterior, primero solicitamos una lista de todos los trabajos pendientes para obtener los números de trabajo y luego mostramos el contenido del trabajo 14 en la salida estándar.
Lista de trabajos programados
El at
La utilidad le permite revisar qué trabajos aún están en la cola y pendientes de ejecución. Hay dos formas de ver los trabajos pendientes:
- Ejecute
atq
comando.
- Use
-l
opción.
Por ejemplo:
at -l
El resultado muestra el número de trabajo pendiente, la fecha, la hora, el año y la cola para el usuario actual. Para enumerar los trabajos pendientes de todos los usuarios, ejecute el comando con sudo
.
sudo atq
En el ejemplo anterior, ejecutar atq
muestra trabajos pendientes solo para el usuario actual. Ejecutando atq
con sudo
muestra trabajos pendientes para todos los usuarios.
Enviar una notificación por correo electrónico sobre la ejecución
El at
La utilidad envía notificaciones por correo electrónico sobre los trabajos completados de forma predeterminada. Las notificaciones por correo electrónico requieren una dirección de correo electrónico que funcione configurada para su cuenta de usuario, y el sistema debe poder enviar correos electrónicos.
Para dar instrucciones a at
para enviar notificaciones por correo electrónico sobre la finalización del trabajo, incluso si no hay salida, especifique el -m
opción.
Por ejemplo:
rm example.txt | at -m tomorrow
El comando anterior programa el trabajo mañana a la hora actual. Cuando se completa, el at
La utilidad notifica al usuario utilizando la dirección de correo electrónico configurada para el usuario bosko .
Ejecutar trabajos sin notificar
Para evitar recibir notificaciones por correo electrónico sobre trabajos completados, especifique el -M
opción al programar un at
trabajo.
Por ejemplo:
echo "shutdown -h now" | at -M 00:00
En el ejemplo anterior, programamos un apagado del sistema para la medianoche y usamos el -M
opción para evitar que la utilidad envíe la notificación por correo electrónico.
Eliminar un trabajo programado
Para eliminar at
programadas trabajos, especifique el -r
o ejecute la opción atrm
comando junto con la identificación del trabajo. Obtenga la identificación del trabajo ejecutando atq
o utilizando el -l
opción.
En el siguiente ejemplo, eliminamos el trabajo 12:
Restringir usuarios
El at
el paquete utiliza dos archivos para restringir at
y batch
acceso de comando:
/etc/at.allow
/etc/at.deny
Edite los archivos para permitir que solo ciertos usuarios creen, eliminen o muestren at
pendientes. trabajos. Los archivos son una lista de nombres de usuario que pueden o no acceder a at
comandos Un carácter de nueva línea separa los nombres de usuario y no se permiten espacios en blanco.
Importante :Si /etc/at.allow
el archivo existe, solo los usuarios enumerados en él pueden usar at
o batch
y el /etc/at.deny
el archivo es ignorado. Si /etc/at.allow
el archivo no existe, los usuarios enumerados en /etc/at.deny
no se les permite usar at
o batch
. El usuario root siempre puede ejecutar at
comandos, independientemente de los archivos de control de acceso.
Edite el /etc/at.deny
archivo con privilegios sudo para denegar el acceso de un usuario a at
comandos En el siguiente ejemplo, editamos el archivo usando el editor vi:
sudo vi /etc/at.deny
Después de agregar un nombre de usuario a la lista, ejecute at
El comando que usa la cuenta de usuario restringida da como resultado el siguiente mensaje:
Ejecutar trabajos cuando la carga del sistema lo permita
El batch
comando (-b
opción) programa una at
trabajo para su ejecución cuando el promedio de carga del sistema cae por debajo de 1.5. La ejecución de trabajos cuando la carga del sistema es baja evita el consumo de todos los recursos del sistema y garantiza un funcionamiento óptimo del sistema.
Por ejemplo, el siguiente trabajo se ejecuta tan pronto como la carga del sistema cae por debajo de 1.5:
batch
echo "Hello world!" >> hello.txt