Gerador de Expressão Cron — Crie e Valide Cron Online
Monte qualquer expressão cron usando o editor de campos, aplique presets de schedule com um clique e veja as próximas 5 execuções — tudo no browser, sem cadastro. Insira o caminho do seu script e escolha a linguagem (PHP, Python, Node.js, Java…) para gerar a linha de crontab completa pronta para colar.
Esta ferramenta cobre os formatos mais usados: Unix/Linux de 5 campos, Quartz/Spring de 6 campos, AWS EventBridge, além de notas de integração específicas para Kubernetes, GitHub Actions, GitLab CI, PHP/Laravel, Python, Node.js e Docker.
Como Usar o Gerador de Expressão Cron
- Selecione a plataforma (Linux, GitHub Actions, AWS, Quartz, etc.) para usar o formato correto.
- Escolha a linguagem/runtime (PHP, Python, Node.js…) para preencher automaticamente o prefixo do interpretador.
- Informe o caminho do script para gerar a linha de crontab completa pronta para copiar.
- Ajuste os campos no editor (MIN, HORA, DIA, MÊS, DIA DA SEMANA) ou use um dos presets.
- Copie a expressão ou a linha completa com o botão Copiar ou
Shift+Enter.
A entrada valida em tempo real — um badge verde confirma que a sintaxe está correta antes de copiar.
Campos da Expressão Cron Explicados
Uma expressão cron Unix padrão tem cinco campos separados por espaço:
┌───────── minuto (0–59)
│ ┌─────── hora (0–23)
│ │ ┌───── dia do mês (1–31)
│ │ │ ┌─── mês (1–12 ou JAN–DEZ)
│ │ │ │ ┌─ dia da semana (0–6, Dom=0, ou DOM–SAB)
│ │ │ │ │
* * * * *
Caracteres especiais
| Caractere | Significado | Exemplo | Lê-se |
|---|---|---|---|
* |
Todo valor | * * * * * |
A cada minuto |
, |
Lista | 0 9,17 * * * |
Às 9:00 e 17:00 |
- |
Intervalo | 0 9 * * 1-5 |
Às 9:00, seg–sex |
/ |
Passo | */15 * * * * |
A cada 15 minutos |
@ |
Alias | @daily |
Uma vez por dia à meia-noite |
@aliases comuns
| Alias | Equivalente | Significado |
|---|---|---|
@yearly |
0 0 1 1 * |
1º de janeiro à meia-noite |
@monthly |
0 0 1 * * |
Primeiro dia do mês à meia-noite |
@weekly |
0 0 * * 0 |
Domingo à meia-noite |
@daily |
0 0 * * * |
Todo dia à meia-noite |
@hourly |
0 * * * * |
Toda hora, no minuto :00 |
@reboot |
— | Uma vez na inicialização do sistema |
Exemplos de Expressões Cron
| Expressão | Descrição | Caso de uso |
|---|---|---|
* * * * * |
A cada minuto | Health checks, polling |
*/5 * * * * |
A cada 5 minutos | Coleta de métricas |
0 * * * * |
Toda hora, no minuto :00 | Relatórios horários |
0 0 * * * |
Todo dia à meia-noite | Backups diários |
0 9 * * 1-5 |
Dias úteis às 9:00 | Jobs em horário comercial |
0 2 * * * |
Todo dia às 2:00 | ETL/sync noturno |
0 0 * * 0 |
Domingo à meia-noite | Limpeza semanal |
0 0 1 * * |
Dia 1 de cada mês | Faturamento mensal |
*/15 9-17 * * 1-5 |
A cada 15 min, 9–17h, seg–sex | Polling em horário comercial |
0 0 1 1 * |
1º de janeiro à meia-noite | Virada anual |
Suporte por Plataforma
Formato de 5 campos (Unix / Kubernetes / GitHub Actions / GitLab CI)
Todas essas plataformas usam a sintaxe cron Unix padrão de 5 campos. As principais diferenças são:
- Linux crontab — executa no fuso horário local do servidor; edite com
crontab -e - Kubernetes — executa em UTC por padrão; intervalo mínimo de 1 minuto
- GitHub Actions — executa em UTC; intervalo mínimo de 5 minutos; pode atrasar até 15 minutos em picos de carga
- GitLab CI — executa em UTC; intervalo mínimo de 1 hora para shared runners
Formato Quartz/Spring de 6 campos
O Quartz Scheduler (usado em Java, Spring Boot e Jenkins) adiciona um campo de segundos no início:
┌─────────── segundo (0–59)
│ ┌───────── minuto (0–59)
│ │ ┌─────── hora (0–23)
│ │ │ ┌───── dia do mês (1–31)
│ │ │ │ ┌─── mês (1–12)
│ │ │ │ │ ┌─ dia da semana (1–7 no Quartz, ou DOM–SAB)
│ │ │ │ │ │
* * * * * *
O Quartz também suporta ? (sem valor específico), L (último dia), W (dia útil mais próximo) e # (enésimo dia da semana do mês).
Formato AWS EventBridge de 6 campos
O AWS EventBridge usa 6 campos com um campo de ano no final: min hora dom mês dow ano. Você deve usar ? para dia-do-mês ou dia-da-semana (nunca especifique os dois). Todos os horários são em UTC.
Perguntas Frequentes
O que é uma expressão cron?
Uma expressão cron (cron expression) é uma string de cinco (ou seis) campos separados por espaços que define um schedule recorrente para tarefas automatizadas. É usada em arquivos crontab Unix/Linux, pipelines CI/CD, agendadores na nuvem e bibliotecas de scheduling para especificar quando um job deve ser executado — por exemplo, a cada 5 minutos, todo dia à meia-noite ou todo dia útil às 9h.
O que significa */5 em uma expressão cron?
O caractere / indica um passo. */5 no campo de minuto significa "a cada 5 minutos" — nos minutos 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 e 55. Da mesma forma, */2 no campo de hora executa a cada 2 horas, e 1-30/2 no campo de minuto executa nos minutos 1, 3, 5, 7... até o 29.
Qual é a diferença entre cron de 5 e 6 campos?
O cron Unix/Linux padrão usa 5 campos (de minuto a dia da semana). O Quartz Scheduler — usado em Java, Spring Boot e Jenkins — adiciona um campo de segundos no início, totalizando 6 campos. O AWS EventBridge também usa 6 campos, mas adiciona um campo de ano no final. Sempre verifique qual formato sua plataforma exige, pois uma expressão de 5 campos é inválida no Quartz e vice-versa.
Como escrever uma cron expression para "todo dia útil às 9h"?
0 9 * * 1-5 — minuto 0, hora 9, qualquer dia do mês, qualquer mês, segunda a sexta-feira (1–5). No formato Quartz, adicione um campo de segundos no início: 0 0 9 * * MON-FRI.
O que significam os caracteres especiais do Quartz ?, L, W e #?
São extensões exclusivas do Quartz, indisponíveis no cron Unix padrão. ? significa "sem valor específico" — necessário quando você especifica dia-do-mês ou dia-da-semana, mas não os dois. L significa "último" (último dia do mês, ou última sexta-feira). W seleciona o dia útil mais próximo a um determinado dia do mês. # aponta o enésimo dia da semana do mês — 2#1 é a primeira segunda-feira, 5#3 a terceira quinta-feira.
Como o cron lida com fusos horários?
O cron Unix padrão executa no fuso horário local do servidor. Se você mudar o fuso do servidor ou implantar em múltiplas regiões, os horários agendados mudam inesperadamente. Boa prática: escreva todos os schedules cron em UTC e documente esse pressuposto. Kubernetes CronJobs e schedules do GitHub Actions rodam em UTC por padrão. O AWS EventBridge sempre usa UTC.
O que significa 0 0 * * * em linguagem simples?
Significa "todo dia à meia-noite (00:00)." Campo a campo: minuto=0, hora=0, qualquer dia do mês, qualquer mês, qualquer dia da semana. É equivalente ao atalho @daily.
Esta ferramenta é uma alternativa ao crontab.guru?
Sim. Este gerador de expressão cron vai além do que o crontab.guru oferece: mostra as próximas 5 execuções com fuso horário local, suporta sintaxe Quartz/Spring de 6 campos, inclui editor visual de campos, gera a linha de crontab completa com o comando/script, fornece dicas de integração específicas por plataforma para Kubernetes, GitHub Actions, AWS EventBridge, Node.js, Python, PHP e Docker, e está disponível em português, inglês, espanhol, alemão, francês e italiano.
Recursos
- Página man crontab(5) — die.net — Referência oficial para a sintaxe de expressão cron Unix padrão, intervalos de campos e caracteres especiais.
- Tutorial CronTrigger do Quartz Scheduler — Documentação oficial do Quartz cobrindo sintaxe de 6 campos e os caracteres
L,W,#e?. - Expressões Cron do AWS EventBridge — AWS Docs — Referência da AWS para o formato cron de 6 campos do EventBridge, incluindo suporte ao campo de ano.