O que é um Cron Job? Guia prático
Aprende como funcionam os Cron Jobs, os ficheiros crontab e as tarefas recorrentes, com recomendações para testes seguros.
Como funciona o Cron
O Cron é um agendador de sistemas Unix. O serviço lê ficheiros crontab e inicia um comando quando a data e a hora correspondem à expressão.
30 2 * * * /usr/local/bin/backup
Este exemplo inicia uma cópia de segurança 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 num script testado torna o agendamento mais legível e fácil de manter.
Utilizações comuns
- Cópias de segurança e relatórios
- Limpeza de cache e rotação de registos
- Importação e sincronização de dados
- Verificações de integridade e notificações
Crontabs de utilizador e de sistema
O comando crontab -e edita o agendamento do utilizador atual. As tarefas são executadas com as permissões desse utilizador e recebem normalmente um ambiente mais limitado do que um terminal interativo. Uma crontab de sistema pode ter um campo adicional para o nome do utilizador, pelo que deves confirmar o formato antes de copiares uma linha.
Os locais habituais incluem /etc/crontab, /etc/cron.d e diretórios como /etc/cron.daily. Podem variar consoante o sistema operativo.
Registos e resolução de problemas
Se um comando funcionar no terminal mas falhar no Cron, confirma o utilizador, o diretório atual, o PATH, a shell e as variáveis de ambiente. Usa caminhos absolutos e encaminha a saída e os erros para um registo controlado.
Confirma também que o serviço Cron está ativo e que a crontab pertence ao utilizador certo. Um fuso horário diferente explica frequentemente uma execução à hora errada.
Tarefas recorrentes fiáveis
Prepara a tarefa para ser repetida em segurança. Usa um bloqueio se duas execuções não puderem coincidir, devolve códigos de saída úteis e monitoriza falhas. Não coloques segredos diretamente na crontab e limita o acesso aos ficheiros de configuração.
Usa caminhos absolutos, define as variáveis de ambiente necessárias e regista os erros. Testa o comando com o mesmo utilizador que o Cron.
Cola um agendamento no descodificador Cron ou cria um com o gerador Cron.