O que é um Cron Job? Guia prático

Aprenda como funcionam os Cron Jobs, arquivos crontab e tarefas recorrentes, com recomendações para testes seguros.

Como o Cron funciona

Cron é um agendador presente em sistemas Unix. O serviço lê arquivos crontab e inicia um comando quando a data e a hora correspondem à expressão.

30 2 * * * /usr/local/bin/backup

Esse exemplo inicia um backup todos os dias às 02:30.

Uma entrada também pode definir variáveis, redirecionar a saída ou chamar um script. Manter a lógica complexa em um script testado geralmente deixa o agendamento mais legível e fácil de manter.

Usos comuns

  • Backups e geração de relatórios
  • Limpeza de cache e rotação de logs
  • Importação de dados
  • Verificações de integridade e notificações

Crontabs de usuário e do sistema

O comando crontab -e edita o agendamento do usuário atual. As tarefas são executadas com as permissões desse usuário e normalmente recebem um ambiente mais limitado do que um terminal interativo. Uma crontab do sistema pode ter um campo adicional para o nome do usuário, então confirme o formato antes de copiar uma linha.

Locais comuns incluem /etc/crontab, /etc/cron.d e diretórios periódicos como /etc/cron.daily. Os caminhos exatos variam conforme o sistema operacional.

Logs e solução de problemas

Quando um comando funciona no terminal, mas falha no Cron, confira o usuário, o diretório atual, o PATH, o shell e as variáveis de ambiente. Use caminhos absolutos e encaminhe a saída padrão e os erros para um log controlado.

Confira também se o serviço Cron está ativo e se a crontab pertence ao usuário correto. Uma diferença de fuso horário costuma explicar tarefas executadas na hora errada.

Como tornar tarefas recorrentes confiáveis

Prepare a tarefa para ser repetida com segurança. Use um bloqueio quando duas execuções não puderem se sobrepor, retorne códigos de saída úteis e monitore falhas. Não armazene segredos diretamente na crontab e restrinja o acesso aos arquivos de configuração.

Use caminhos absolutos, defina as variáveis de ambiente necessárias e registre os erros. Teste o comando com o mesmo usuário que executará o Cron.

Cole um agendamento no decodificador Cron ou crie um com o gerador Cron.