Lição 1
O que é Cron?
Jobs agendados e onde o cron Unix de cinco campos aparece.
Cron é um agendador de tarefas baseado em tempo. Na tradição Unix, uma expressão cron (ou linha de crontab) diz ao sistema quando executar um comando ou disparar um job — não o que o job faz.
Uma linha, cinco decisões
O cron Unix clássico usa cinco campos separados por espaço:
minute hour day-of-month month day-of-week
Exemplo: 0 9 * * 1-5 significa “no minuto 0, hora 9, todo dia do mês, todo mês, em dias úteis (segunda–sexta).” Em linguagem simples: 09:00 em dias úteis.
O executor avalia o horário atual contra cada campo. Quando todos coincidem, o job dispara.
Onde você encontra cron
| Contexto | Uso típico |
|---|---|
Linux crontab -e | Rotação de logs, backups, aquecimento de cache |
Kubernetes CronJob | Limpeza de namespace, geração de relatórios |
GitHub Actions schedule | Builds noturnos, varreduras de dependências |
| Schedulers gerenciados na nuvem | Regras Lambda/EventBridge (muitas vezes com extensões) |
| Bibliotecas em aplicações | Schedulers in-process inspirados na sintaxe cron |
Nem toda plataforma usa regras idênticas de cinco campos — leia sempre a documentação da plataforma — mas o modelo mental se transfere.
Cron vs timers de intervalo
“A cada 5 minutos” pode ser */5 * * * * em cron, ou um timer de intervalo simples no código. Cron brilha quando o schedule alinha a marcos de relógio de parede (todo dia às 02:00, primeiro dia do mês, dias úteis às 09:00).
Timers de intervalo servem para “a cada N segundos desde o start do processo”. Escolha a ferramenta que combina com a expectativa operacional.
Cron não garante exactly-once
Execuções perdidas podem ocorrer se o host estava fora do ar, a execução anterior estourou a janela ou limites de concorrência bloquearam um novo start. Projete jobs idempotentes e seguros se rodarem duas vezes ou pular uma vez.
Resumo
Expressões cron são schedules compactos. A próxima lição detalha a gramática de cada campo — *, listas, intervalos e passos — para você ler qualquer linha com confiança.