GNU/Linux >> Tutoriales Linux >  >> Linux

Comprender los comandos at, atq, atrm, batch usando 9 ejemplos

Puede ejecutar trabajos por lotes en UNIX/Linux usando cualquiera de los tres comandos:at, batch o cron.

En este artículo, revisemos cómo programar un trabajo, ver un trabajo y eliminar un trabajo usando at command .

Puede programar un trabajo de dos maneras diferentes:

  • Programe el trabajo para que se ejecute en un momento específico. Por ejemplo, 3 de julio, 10 a. m.
  • Programe el trabajo para que se ejecute en un tiempo relativo a partir de ahora. Por ejemplo, dentro de 5 horas.

1. Programe un trabajo a las usando una fecha y hora específicas

Sintaxis:

$ at time date

Por ejemplo, para programar un trabajo a las 11 am del 20 de mayo, use el siguiente comando at.

$ at 11 am may 20

2. Programe un trabajo en usando el tiempo relativo

Puede programar un trabajo para que se ejecute utilizando un tiempo relativo a partir de ahora.

Sintaxis:

$ at now + COUNT UNIT

Por ejemplo, el siguiente trabajo se ejecutará dentro de 1 minuto.

$ at now + 1 min

El ejemplo anterior leerá los comandos de stdin y ejecutará el trabajo después de un minuto. Cuando da algo incorrecto en el formato de hora, obtendrá el error 'Hora distorsionada ‘.

Puede programar un trabajo en segundo plano para 1 hora a partir de ahora, (o) 1 día a partir de ahora usando el siguiente comando at:

$ at now + 1 hour

$ at now + 1 day

Al igual que en el comando, también puede usar crontab para ejecutar trabajos a una hora programada. Consulte nuestro artículo anterior de 15 ejemplos de comandos cron.

3. Ver todos los trabajos programados en usando atq

Puede usar el comando atq (o at -l) para mostrar todos los trabajos de comando at que están programados o en ejecución.

El siguiente comando atq enumerará todos los at pendientes trabajos. El primer número que se muestra es el número de trabajo, seguido de la hora en que se ejecutará el proceso y el nombre de usuario.

$ atq
4	2010-04-20 11:00 a sathiya

4. Eliminar/Eliminar un trabajo programado usando atrm

Puede usar el comando atrm (o at -d) para eliminar un trabajo en particular. Por ejemplo, para eliminar el trabajo número 4, use el siguiente comando atrm.

$ atrm 4

5. Ejecute un trabajo solo cuando el promedio de carga del sistema sea <1.5 usando el comando por lotes

Puede programar un trabajo mediante el comando por lotes, que solicitará la entrada del comando, que se ejecutará cuando el promedio de carga del sistema sea inferior a 1,5.

$ batch

Al completar con éxito la entrada, obtendrá el número de trabajo. Para enumerar y eliminar trabajos por lotes, puede usar los comandos at explicados anteriormente.

6. Programe trabajos desde un archivo usando la opción -f

Primero cree un archivo de texto que contenga todos los comandos o scripts de shell que le gustaría ejecutar en segundo plano usando el comando at.

$ cat myjobs.txt
/home/sathiya/calculate-space.sh
/path/to/a/shell-script
/path/to/any/command/or/script

Con la opción -f, puede ejecutar el comando at para obtener la entrada del archivo en lugar de la entrada estándar.

Seguir el comando at ejecutará todos los trabajos de myjobs.txt dentro de 1 hora a partir de ahora.

$ at -f myjobs.txt now + 1 hour

7. Permitir y denegar el uso de ciertos usuarios en trabajos

El administrador del sistema puede controlar quién puede programar un trabajo at y quién no puede usar los archivos at.allow y at.deny.

Primero, el sistema busca el archivo at.allow. Si at.allow existe, solo los nombres de usuario especificados en el archivo at.allow pueden usar at command.

A continuación, (si at.allow no existe), el sistema busca el archivo at.deny. Si at.deny existe, los nombres de usuario especificados en el archivo at.deny no pueden usar el comando at.

De manera predeterminada, la mayoría de los sistemas usan el archivo at.deny para evitar que ciertos usuarios usen el comando at, como www-data, guest, backup, man user.

8. Ejecutar en comando como nohup

Similar al comando nohup que discutimos anteriormente, puede ejecutar un comando (o script de shell) en el servidor remoto usando el comando at y cerrar sesión en el servidor.

$ at -f myjob now + 1 min

$ exit

Nota:myjob seguirá ejecutándose incluso después de salir del servidor.

9. Formatos de tiempo de comando adicionales

Puede usar cualquiera de los siguientes formatos de fecha y hora del comando:

$ at 10 am tomorrow

$ at 11:00 next month

$ at 22:00 today

$ at now + 1 week

$ at noon

Linux
  1. ¿Usar teclas Vi para editar comandos de shell en Unix?

  2. 10 ejemplos prácticos del uso del comando scp

  3. 5 Ejemplos de módem al mando en Linux (Cómo configurar Minicom)

  4. Ejemplos del uso del comando tcpdump para solucionar problemas de red

  5. ¿Qué zona horaria está usando un trabajo cron?

Uso de Cat Command en Linux con ejemplos

Usando el comando GREP en Linux con ejemplos

Cómo mostrar hojas de trucos de comandos de Linux usando, por ejemplo

Los comandos alias y unalias explicados con ejemplos

15 ejemplos del uso del comando Grep en Linux

Ejemplos de manipulación de archivos usando los comandos de Unix Tac, Rev, Paste y Join