Cómo usar el comando 'at' para programar una tarea en un momento dado o posterior en Linux


Como alternativa al programador de tareas cron, el comando at le permite programar un comando para que se ejecute una vez en un momento dado sin editar un archivo de configuración.

El único requisito consiste en instalar esta utilidad y comenzar y habilitar su ejecución:

# yum install at              [on CentOS based systems]
$ sudo apt-get install at     [on Debian and derivatives]

A continuación, inicie y habilite el servicio en el momento del arranque.

--------- On SystemD ---------
# systemctl start atd
# systemctl enable atd

--------- On SysVinit ---------
# service atd start
# chkconfig --level 35 atd on

Una vez que se ejecuta atd , puede programar cualquier comando o tarea de la siguiente manera. Queremos enviar 4 sondeos de ping a www.google.com cuando comience el minuto siguiente (es decir, si es 22:20:13 , la el comando se ejecutará en 22:21:00 ) e informará el resultado a través de un correo electrónico ( -m , requiere Postfix o equivalente) al usuario que invoca el comando:

# echo "ping -c 4 www.google.com" | at -m now + 1 minute

Si elige no usar la opción -m , el comando se ejecutará pero nada se imprimirá en la salida estándar. Sin embargo, puede elegir redireccionar la salida a un archivo.

Además, tenga en cuenta que en no solo permite los siguientes horarios fijos: ahora, mediodía (12:00) y medianoche (00:00), sino también 2 dígitos personalizados (que representan horas) Tiempos de 4 dígitos (horas y minutos).

Por ejemplo,

Para ejecutar updatedb en 11 pm hoy (o mañana si la fecha actual es mayor que 11 pm ), haga:

# echo "updatedb" | at -m 23

Para apagar el sistema en 23:55 hoy (se aplican los mismos criterios que en el ejemplo anterior):

# echo "shutdown -h now" | at -m 23:55

También puede retrasar la ejecución en minutos, horas, días, semanas, meses o años utilizando el signo + y la especificación del tiempo deseado como en el primer ejemplo.

Las especificaciones de tiempo están sujetas al estándar POSIX.

Resumen

Como regla general, use el programador de tareas en lugar del cron cuando quiera ejecutar un comando o ejecutar una tarea determinada a una hora bien definida solo una vez. Para otros escenarios, use cron .

A continuación, veremos cómo encriptar los archivos de archivo tar con openssl, hasta que nos mantengamos conectados a Tecmint .