Pesquisa de site

Como usar o comando 'at' para agendar uma tarefa em um horário determinado ou posterior no Linux


Como alternativa ao agendador de tarefas cron, o comando at permite agendar um comando para ser executado uma vez em um determinado momento, sem editar um arquivo de configuração.

O único requisito consiste em instalar este utilitário e iniciar e habilitar sua execução:

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

Em seguida, inicie e habilite o serviço at no momento da inicialização.

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

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

Quando atd estiver em execução, você poderá agendar qualquer comando ou tarefa da seguinte maneira. Queremos enviar 4 sondagens de ping para www.google.com quando o próximo minuto começar (ou seja, se for 22:20:13, o será executado às 22:21:00) e reportará o resultado por e-mail (-m, requer Postfix ou equivalente) ao usuário que invoca o comando:

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

Se você optar por não usar a opção -m, o comando será executado, mas nada será impresso na saída padrão. Você pode, no entanto, optar por redirecionar a saída para um arquivo.

Além disso, observe que at não só permite os seguintes horários fixos: agora, meio-dia (12h00) e meia-noite (00h00), mas também dois dígitos personalizados (representando horas) e Horas de 4 dígitos (horas e minutos).

Por exemplo,

Para executar updatedb às 23h de hoje (ou amanhã se a data atual for posterior às 23h), faça:

echo "updatedb" | at -m 23

Para desligar o sistema às 23:55 de hoje (aplicam-se os mesmos critérios do exemplo anterior):

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

Você também pode atrasar a execução em minutos, horas, dias, semanas, meses ou anos usando o sinal + e a especificação de tempo desejada como no primeiro exemplo.

As especificações de tempo estão sujeitas ao padrão POSIX.

Resumo

Como regra geral, use at em vez do agendador de cron job sempre que desejar executar um comando ou executar uma determinada tarefa em um horário bem definido apenas uma vez. Para outros cenários, use cron.

A seguir, abordaremos como criptografar arquivos tar usando openssl, até então permanecer conectado ao Tecmint.