Analisador de Expressões Cron e Próximas Execuções
Analisa uma expressão cron (minuto hora dia mês dia da semana) e mostra o agendamento em linguagem simples. Suporta passos, intervalos e listas, e calcula as próximas 5 execuções. Útil para ler um crontab ou o "schedule" do GitHub Actions.
Sintaxe da expressão cron (5 campos)
Uma expressão cron tem 5 campos separados por espaço, da esquerda para a direita: minuto, hora, dia do mês, mês e dia da semana. Cada campo aceita os caracteres especiais abaixo.
| Posição | Campo | Valores permitidos |
|---|---|---|
| 1 | Minuto | 0-59 |
| 2 | Hora | 0-23 |
| 3 | Dia do mês | 1-31 |
| 4 | Mês | 1-12 |
| 5 | Dia da semana | 0-7 |
O dia da semana costuma ser 0 = domingo a 6 = sábado, mas esta ferramenta também aceita 7 como alias de domingo, usado por algumas implementações de cron (é tratado igual ao 0).
Cada campo aceita "*" (qualquer valor), listas separadas por vírgula (1,15,30), intervalos com hífen (1-5) e passos com barra (*/15, 1-30/5), podendo ser livremente combinados.
Padrões cron comuns
| Expressão cron | Significado |
|---|---|
| * * * * * | Executa a cada minuto. |
| */5 * * * * | Executa a cada 5 minutos. |
| 0 * * * * | Executa uma vez por hora, no minuto 0. |
| 0 0 * * * | Executa todos os dias à meia-noite (00:00). |
| 0 9 * * 1-5 | Executa às 9h nos dias úteis (segunda a sexta). |
| 0 0 1 * * | Executa à meia-noite no dia 1 de cada mês. |
| 0 0 1 1 * | Executa à meia-noite em 1º de janeiro de cada ano. |
| */15 9-17 * * 1-5 | Executa a cada 15 minutos entre 9h e 17h nos dias úteis. |
Dicas
- Os campos podem combinar livremente listas com vírgula, intervalos com hífen e passos com barra, como em "*/15 9-17 * * 1-5".
- O dia da semana costuma ser 0-6 (domingo a sábado), mas esta ferramenta também aceita o 7 como alias comum de domingo em algumas implementações de cron.
- Se tanto o dia do mês quanto o dia da semana estiverem restritos (diferentes de "*"), o cron padrão os trata como uma condição OR: a tarefa executa se qualquer um dos dois for satisfeito.
- O gatilho "schedule" do GitHub Actions usa a mesma sintaxe cron de 5 campos desta ferramenta, então também serve para conferir exatamente quando um workflow será executado.
- O horário real de execução depende do fuso horário configurado no servidor, por isso vale a pena conferir também a hora atual do servidor depois de editar um crontab.
Perguntas frequentes
Curiosidade — Meio século de cron
Diz-se que o nome "cron" vem de Chronos, a palavra grega para tempo, e ele é o agendador de tarefas clássico desde os primórdios do UNIX, na década de 1970. Sua sintaxe compacta de cinco campos consegue expressar desde "a cada minuto" até "uma data e hora específicas uma vez por ano", e continua amplamente usada quase meio século depois.
Hoje, essa mesma sintaxe cron de 5 campos é usada não só nos crontabs de servidores Linux, mas também em diversas ferramentas de CI/CD e plataformas de contêineres, como GitHub Actions, GitLab CI e os CronJobs do Kubernetes. É um exemplo marcante de uma sintaxe criada na era UNIX que continua prosperando, sem mudanças, em ambientes cloud-native.
Um dos pontos mais confusos da sintaxe cron é o comportamento quando dia do mês e dia da semana são definidos juntos. É tentador presumir uma condição AND (que ambos sejam satisfeitos), mas a especificação real é uma condição OR (que qualquer um dos dois seja satisfeito), o que costuma causar execuções mais frequentes do que o esperado.