O Que É um Cron Job? Comandos Agendados em um Temporizador
Um cron job é um comando agendado para rodar automaticamente em horários ou intervalos fixos, gerenciado em sistemas Unix pelo daemon cron.
cron é o agendador clássico do Unix: você descreve quando um comando deve rodar, e o daemon cron o dispara nesse agendamento, sem assistência. A mesma sintaxe de tempo de cinco campos aparece em CI para disparar pipelines agendadas, como um build noturno, então entender a sintaxe do cron ajuda você a ler e escrever esses agendamentos.
O que é um cron job
Um cron job emparelha um agendamento com um comando. O daemon cron verifica o horário e roda cada job quando seu agendamento corresponde, sem ninguém presente para iniciá-lo.
A sintaxe de cinco campos
Um agendamento de cron tem cinco campos: minuto, hora, dia do mês, mês e dia da semana. Por exemplo, 0 2 * * * significa 2:00 AM todo dia, e */15 * * * * significa a cada quinze minutos.
Lendo um agendamento
* * * * *roda a cada minuto.0 0 * * 0roda à meia-noite aos domingos.30 9 1 * *roda às 9:30 AM no primeiro dia de cada mês.
A armadilha do não-interativo
cron jobs rodam em um ambiente mínimo e não-interativo, com um PATH esparso e sem profile de login. Um comando que funciona no seu prompt pode falhar sob o cron porque variáveis ou entradas de PATH esperadas estão ausentes.
Cron em CI
Plataformas de CI emprestam a sintaxe do cron para pipelines agendadas: uma execução de testes noturna ou uma verificação periódica de dependências. A expressão de cinco campos em um trigger de workflow usa as mesmas regras, geralmente interpretadas em UTC.
Execuções agendadas em runners gerenciados
Na Latchkey, um workflow agendado por cron provisiona um runner no temporizador que você define, roda o job e o desmonta. Você paga apenas pela execução agendada, sem nenhuma máquina ociosa entre execuções.
Principais conclusões
- Um cron job roda um comando automaticamente em um agendamento fixo.
- A sintaxe de cinco campos define minuto, hora, dia, mês e dia da semana.
- CI reutiliza a sintaxe do cron para pipelines agendadas, geralmente em UTC.