Explicador cron
Valide e entenda agendamentos15 2 * * 1-5No minuto 15, hora 2, dia do mês *, mês *, dia da semana 1-5.
Orientação defensiva educacional. Revise cada resultado antes do uso em produção.
Introdução
O Explicador cron valida uma expressão cron padrão de cinco campos — minuto, hora, dia do mês, mês, dia da semana — e explica em linguagem simples o que ela significa.
A sintaxe cron é compacta e fácil de ler errado: 0 2 * * 1-5 e 0 2 * * 1,5 significam coisas muito diferentes. Um segundo par de olhos no agendamento evita tanto jobs perdidos quanto surpresas às 2 da manhã.
Objetivo
- Validar que uma expressão tem exatamente cinco campos válidos.
- Traduzir os campos em uma frase legível.
- Oferecer presets comuns como ponto de partida.
Entradas
- Uma expressão cron de cinco campos, por exemplo 15 2 * * 1-5.
- Campos: minuto (0–59), hora (0–23), dia do mês (1–31), mês (1–12), dia da semana (0–7, onde 0 e 7 são domingo).
Como funciona
A expressão é dividida por espaços. Ela deve produzir exatamente cinco campos, e cada campo deve consistir apenas de dígitos e dos operadores * / , -.
A ferramenta não verifica profundamente as faixas numéricas (por exemplo, 99 como hora passa na verificação de caracteres) — a explicação é honesta sobre a estrutura de cinco campos.
Uma expressão válida produz uma frase que lê cada campo literalmente; uma inválida produz uma mensagem de erro clara pedindo exatamente cinco campos.
Exemplo testável
Experimente — a análise roda localmente no seu navegador.
Exemplo
Expressão: 15 2 * * 1-5
Saída esperada
Válida. No minuto 15, hora 2, dia do mês *, mês *, dia da semana 1-5. Interpretação: nos dias úteis, às 02:15.
Interpretando a saída
- Se a explicação corresponde ao que você pretendia, o agendamento provavelmente está certo.
- Atenção à armadilha clássica: dia-do-mês e dia-da-semana são combinados em OR no cron padrão (Vixie), então uma expressão com ambos restritos pode rodar com mais frequência do que o esperado.
- Os presets (por hora, diário, semanal, a cada 5 minutos) são pontos de partida seguros.
Riscos
- Um erro de digitação no campo minuto ou hora desloca todo o agendamento — 30 2 * * * roda às 02:30, não às 02:00.
- Usar tanto dia-do-mês quanto dia-da-semana cria semântica OR que surpreende a maioria das pessoas.
- Jobs que rodam quando o sistema está dormindo ou desligado são pulados ou atrasados dependendo da implementação do cron — anacron e timers do systemd se comportam de forma diferente.
Limitações
- A ferramenta aceita apenas o formato padrão de cinco campos; ela não analisa extensões Vixie como @reboot nem a variante de seis campos com segundos.
- A verificação de faixas é deliberadamente superficial: 99 no campo hora passa na verificação de caracteres.
- Ela explica a expressão; não pode verificar se o comando subjacente existe ou tem as permissões certas.
Referências oficiais
FAQ
O que o campo dia da semana aceita?
0–7, onde 0 e 7 são domingo. Nomes como MON não são aceitos por este validador — use números, intervalos e listas.
Por que meu job roda com mais frequência do que eu esperava?
Se tanto dia-do-mês quanto dia-da-semana estiverem restritos, o cron Vixie roda o job quando um dos dois corresponde. Use * em um dos dois campos para obter o comportamento AND intuitivo.
Devo usar cron ou timers do systemd?
Para trabalho novo, timers do systemd oferecem melhor registro, dependências e tratamento de execuções perdidas. O cron continua adequado para agendamentos simples e bem compreendidos.