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.
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
Debian e derivados
Em seguida, habilite o serviço (atd) no boot do sistema – para ele inicializar juntamente com o serviço:
Lista de comandos systemctl para administrar os serviços do systemd
Pronto! Uma vez instalado, um ‘daemon’ atd ficará em execução!
Agora, você pode agendar qualquer comando ou tarefa da seguinte maneira:
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):
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