Cómo programar tareas usando el comando AT en Linux

Cómo programar tareas usando el comando AT en Linux

Aprender cómo programar y administrar tareas utilizando el programa AT

Requisitos

  • Permisos de raíz para comenzar el demonio ATD
  • Tener el programa AT instalado

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz
    directamente como usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

Durante la administración de un sistema, poder programar una tarea para una ejecución posterior, es una capacidad crucial: realizar una copia de seguridad de una base de datos, o tal vez para ejecutar un script de mantenimiento. Menos conocido que cron o anacron, el en Programa Hagamos esto de una manera bastante fácil: en este tutorial aprenderemos cómo usarlo y cómo es diferente de los programas mencionados anteriormente.

Que hay en?

A diferencia de Cron, que nos permitió ejecutar una tarea de forma regular, en nos da la capacidad de ejecutar un comando o un script en una fecha y hora específicas, o después de un intervalo de tiempo determinado. Las actas, horas, días o semanas se pueden usar como unidades. Incluso es posible usar ciertas "palabras clave" como medianoche o la hora del té (que corresponde a 4pm).



Instalación en

Si no está instalado de forma predeterminada, en Debería estar disponible en casi todas las distribuciones de repositorios.

Para instalarlo en Fedora, simplemente ejecute:

# Instalar DNF en

En Rhel o Centos Yum sigue siendo el administrador de paquetes predeterminado:

# yum instalación en

En Debian o Ubuntu:

# instalación de apt-get en

En Archlinux:

# Pacman -S en

Comenzando el demonio

Una vez que el programa está instalado, debemos iniciar el ATD demonio y eventualmente habilitarlo si queremos que se lance automáticamente en el arranque. Aquí asumiré el uso de Systemd como sistema init. El comando debe ejecutarse con privilegios raíz:

# SystemCTL Enable - -Now ATD.servicio

Programando un trabajo de la solicitud AT

Con todo en su lugar, ahora podemos usar en. Supongamos que queremos ejecutar un comando de 1 minuto a partir de ahora. La sintaxis correcta sería:

$ a ahora + 1 minuto

Para ejecutar el mismo comando a las 4pm, dentro de tres días, en cambio, ejecutaríamos:

$ a las 4pm + 3 días

Una vez que se ejecuta la línea anterior, el en Aparecerá que aparecerá, esperando que ingresemos el comando que se ejecutará después del intervalo de tiempo especificado:



$ a ahora + 1 minutos en> echo "Hello World"> Prueba.txt en> trabajo 4 en martes 19 de diciembre 11:29:00 2017 

Para salir del en rápido deberíamos presionar el Ctrl+D combinación de llave. En este punto, presentaremos un resumen de la tarea programada, que nos mostrará el Identificación del trabajo (4 en este caso) y la fecha en que se ejecutará.

Justo como ejemplo, ingresamos a un comando trivial para mostrar cómo en obras. A partir de ahora, la cadena "Hello World" se escribirá en la prueba del archivo.txt, que se creará automáticamente si ya no existe.

Programe la ejecución de un script

En lugar de especificar el comando que se ejecutará, interactivamente, a partir de la solicitud, podemos instruir en ejecutar un script o programa existente simplemente pasándolo como un argumento al -F bandera o, alternativamente, utilizando el < operador de redirección. Por lo tanto, suponiendo que queramos ejecutar un script que esté presente en nuestro directorio de trabajo actual, ejecutaríamos:

# Usando la bandera -f dedicada $ en ahora + 1 minuto -f script.mierda

# Utilizando el < redirection operator $ at now + 1 minute < script.sh

Administrar trabajos programados

Para hacer cola, examinar o eliminar trabajos programados con AT, podemos usar comandos dedicados como ATRM y ATQ o corre en con banderas específicas, este último es solo alias para los primeros. Por ejemplo, digamos que queremos obtener una lista de todos los trabajos pendientes programados con AT por nuestro usuario:

 $ ATQ 4 martes 19 Dic 11:29:00 2017 A EGDOC 

El comando anterior, si se inicia como root, mostrará la tarea programada por todos los usuarios en el sistema.

Para eliminar un trabajo en cola, podríamos usar ATRM o corre en Con las banderas equivalentes: -riñonal o -d. El trabajo a eliminar debe ser referenciado por su número. En el caso anterior, por lo tanto correríamos:

 $ ATRM 4

Conclusiones

Aunque más simple que cron o anacron, el en El programa puede ser muy útil en ciertas situaciones: ejecutar un programa con un retraso específico o cuando sepa exactamente el momento en que se debe ejecutar la tarea. Referencia al manual para obtener más información y agregue esta pequeña herramienta a su caja de herramientas, seguramente será útil.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Comandos básicos de Linux
  • Tutorial de Sqlite Linux para principiantes
  • Ubuntu 22.04 Copia de seguridad y restauración del sistema
  • Cómo imprimir el árbol de directorio usando Linux
  • Archivos de configuración de Linux: los 30 principales más importantes
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..