seabeck.pages.dev

Como agendar tarefa no Bash com data relativa?

Agendar tarefas no Linux com datas relativas como "daqui a 3 dias" pode parecer complexo, mas com o comando correto, você automatiza o processo em segundos, evitando erros manuais e garantindo precisão no agendamento.

Pré-requisitos

Configurando o atd (se necessário)

Antes de agendar tarefas, verifique se o serviço atd está ativo:

sudo systemctl status atd

Se estiver inativo, inicie com:

sudo systemctl start atd

Agendando tarefa com data relativa

O comando at permite agendar tarefas usando datas absolutas ou relativas. Para agendar uma tarefa daqui a 3 dias, use:

echo "comando_a_ser_executado" | at now + 3 days

Substitua "comando_a_ser_executado" pelo script ou comando que deseja executar.

Exemplo prático

Veja na tabela abaixo como agendar diferentes tarefas com datas relativas:

Comando Descrição Execução
echo "backup.sh" | at now + 3 days Executa backup.sh daqui a 3 dias 03/04/2024 00:00
echo "limpeza.sh" | at now + 1 week Executa limpeza.sh daqui a 1 semana 10/04/2024 00:00
echo "relatorio.sh" | at now + 2 hours Executa relatorio.sh daqui a 2 horas Hoje 16:00

Verificando tarefas agendadas

Para listar todas as tarefas agendadas, use:

atq

Para remover uma tarefa agendada, use:

atrm [job_number]

Conclusão

Com este método, você automatiza o agendamento de tarefas no Linux usando datas relativas de forma simples e confiável. O comando at oferece flexibilidade para agendar desde tarefas urgentes até processos de longo prazo, garantindo que seus scripts sejam executados exatamente quando necessário.