Saiba como agendar facilmente a execução de determinado comando no Linux… sem usar o crontab

agendar-execucao-comando-linuxdescomplicado-h

Um gerenciador ‘universal’ de agendamento de execução de comandos no Linux é a ferramenta crontab… Contudo, para um usuário que deseja apenas agendar facilmente a execução de determinado comando, o uso do crontab pode ser desnecessário; já que ele ‘controla’, hora e dia, a execução dos comandos a serem executados no cron. Então, caso queira algo simples para agendar a execução dos comandos/scripts, conheça a ferramenta ‘at’.

Agendamento de Tarefas no Linux

São várias as situações onde é preciso agendar tarefas no Linux, principalmente com tarefas repetitivas. Para isso, o sistema Linux tem um serviço, que é carregado durante o processo de boot do sistema, que permite programar a execução de comandos e processos repetidamente ou apenas uma única vez. Esse serviço é chamado de cron.

Calendario

Para executar as tarefas, o cron usa o crontab. Para um usuário pouco acostumado com os parâmetros de configurações desse arquivo, o uso do crontab pode ser dificultoso. Além disso, se for preciso apenas agendar a execução de determinado comando uma única vez; o uso do crontab se faz desnecessário. Pois, ele é indicado em situações mais ‘complexas’ e com controle de horário/dia/mês para execução das tarefas.

Como o foco aqui é agendar facilmente a execução de determinado comando no Linux, o uso de uma ferramenta que facilite isso é ideal 😉

Agendar comandos no Linux

Para isso será usado a ferramenta ‘at’. Ela permite agendar um comando para ser executado uma vez em um determinado momento sem editar um arquivo de configuração, no caso o arquivo de configuração do crontab. O único requisito é instalar o pacote responsável e iniciar o agendamento: 😉

RedHat e derivados

sudo yum install at

Debian e derivados

sudo apt-get install at

Em seguida, habilite o serviço (atd) no boot do sistema – para ele inicializar juntamente com o serviço:

systemctl start atd
systemctl enable atd

Pronto! Uma vez instalado, um ‘daemon’ atd ficará em execução!

Agora, você pode agendar qualquer comando ou tarefa da seguinte maneira:

echo “ping -c 4 www.google.com” | at now +1 minute

O exemplo acima enviará ‘4’ pacotes de ping para www.google.com no próximo minuto após a execução do comando. Ou seja, se executar 20:00h, ele enviar os pacotes de ping às 20:01h 😉

Além disso, a ferramenta ‘at’ permite algumas sintaxes de tempo; bem como: now, noon (12:00), midnight (00:00), números personalizados de 2 dígitos (representando horas) e de 4 dígitos (horas e minutos):

echo “shutdown -h now” | at 23:55

Por exemplo, para desligar o sistema às 23:55 de hoje 😉

Por fim, essa ferramenta é recomendada sempre que pretender executar um comando ou executar uma determinada tarefa em um tempo definido; e apenas uma vez. Para outros cenários, use cron/crontab.


Via | Tecmint

Ricardo Ferreira

Ricardo Ferreira

Fundador do Linux Descomplicado - LD.

Sempre em busca de novos conhecimentos, preza por conteúdo de qualidade e auto-explicativo. Por isso, persiste em criar um site com artigos relevantes para todos os leitores do Linux Descomplicado!
Ricardo Ferreira

Comentários

comentários


VOCÊ TAMBÉM PODERÁ LER...