Cómo usar un comando para programar una tarea en un momento determinado o posterior en Linux


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

El único requisito consiste en instalar esta utilidad e iniciar 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 esté ejecutando atd , puede programar cualquier comando o tarea de la siguiente manera. Queremos enviar 4 sondas de ping a www.google.com cuando comience el próximo minuto (es decir, si son las 22:20:13, el comando se ejecutará a las 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 no se imprimirá nada en la salida estándar. Sin embargo, puede optar por redirigir la salida a un archivo.

Además, tenga en cuenta que at 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 las horas) y Tiempos de 4 dígitos (horas y minutos).

Por ejemplo,

Para ejecutar updatedb hoy a las 11 p. M. (O mañana si la fecha actual es superior a las 11 p. M.), Haga lo siguiente:

# echo "updatedb" | at -m 23

Para apagar el sistema hoy a las 23:55 (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 de tiempo deseada como en el primer ejemplo.

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

Resumen

Como regla general, use at en lugar del programador de trabajos cron siempre que desee ejecutar un comando o ejecutar una tarea determinada en un momento bien definido solo una vez. Para otros escenarios, use cron.

A continuación, cubriremos cómo cifrar archivos tar utilizando openssl, hasta entonces permanecer conectado a Tecmint.