Gerador de expressão cron
Escreva um agendamento cron e veja exatamente quando ele roda.
Próximas 10 execuções
Referência rápida da sintaxe cron
| Campo | Valores permitidos |
|---|---|
| Minuto | 0-59 |
| Hora | 0-23 |
| Dia do mês | 1-31 |
| Mês | 1-12 ou JAN-DEC |
| Dia da semana | 0-6 ou SUN-SAT (7 também é domingo) |
| Símbolo | Significado |
|---|---|
* | Todos os valores |
, | Uma lista de valores, como 1,15 |
- | Um intervalo, como 1-5 |
/ | Um passo, como */15 para cada 15º valor |
Funciona no navegador. Nada do que você digita é enviado a lugar nenhum.
- Explicação em português simples
- Próximas 10 execuções
- Modelos para tarefas comuns
Como escrever uma expressão cron
- Escolha um modelo, ou digite uma expressão com cinco campos.
- Ajuste campos específicos nas caixas abaixo dela.
- Confira a explicação e as próximas execuções, depois copie a expressão.
Agendamentos cron comuns
| Agendamento | Expressão | Significado |
|---|---|---|
| A cada minuto | * * * * * | Roda 60 vezes por hora |
| A cada 5 minutos | */5 * * * * | Às :00, :05, :10 e assim por diante |
| Toda noite às 2h | 0 2 * * * | Uma vez a cada 24 horas |
| Dias úteis às 9h | 0 9 * * 1-5 | Só de segunda a sexta |
| Primeiro dia do mês | 0 0 1 * * | Meia-noite no dia 1 |
| A cada 6 horas | 0 */6 * * * | Meia-noite, 6h, meio-dia, 18h |
Como o cron muda entre sistemas
O formato de 5 campos abaixo é o que este gerador monta, e também é o que a maioria dos agendadores de tarefas usa diretamente.
| Sistema | Campos | Nota |
|---|---|---|
| Cron / crontab padrão | 5 | Minuto, hora, dia do mês, mês, dia da semana |
| Kubernetes CronJob | 5 | Mesmo formato, entre aspas como texto no YAML |
| GitHub Actions | 5 | Definido em on.schedule.cron, sempre roda em UTC |
| Quartz (Java) | 6 ou 7 | Adiciona um campo de segundos antes do minuto |
| AWS EventBridge | 6 | Adiciona um campo de ano e usa ? para dia do mês ou dia da semana |
Copie a expressão daqui para um agendamento do Quartz ou da AWS e adicione o campo extra que ele espera; as posições de minuto, hora, dia, mês e dia da semana continuam as mesmas.
Dicas para escrever agendamentos cron
- Prefira um passo a uma lista longa: */15 * * * * é mais curto e mais claro que 0,15,30,45 * * * *.
- Definir dia do mês e dia da semana ao mesmo tempo restringe menos do que parece: o cron padrão roda a tarefa quando qualquer um dos dois combina, não só quando os dois combinam.
- Teste um agendamento aqui antes de colar em um servidor. Um único campo errado pode transformar uma tarefa diária em uma que dispara a cada minuto.
- Servidores costumam rodar o cron em UTC. A lista de próximas execuções acima é mostrada no seu próprio fuso horário, então converta antes de assumir que uma tarefa rodou no horário certo.
Perguntas frequentes sobre Gerador de expressão cron
O que significam os cinco campos de uma expressão cron?
Da esquerda para a direita: minuto (0-59), hora (0-23), dia do mês (1-31), mês (1-12) e dia da semana (0-6, onde 0 é domingo). Um asterisco significa todos os valores, então * * * * * roda a cada minuto.
Como rodar uma tarefa cron a cada 5 minutos?
Use */5 * * * *. O /5 significa a cada quinto valor, então roda nos minutos 0, 5, 10 e assim por diante, em toda hora de todo dia.
O que acontece quando eu defino dia do mês e dia da semana ao mesmo tempo?
O cron padrão roda a tarefa quando qualquer um dos dois combina. 0 0 1 * 1 roda à meia-noite no dia 1 de todo mês e também toda segunda-feira.
Qual fuso horário o cron usa?
O fuso horário do servidor que roda a tarefa, que muitas vezes é UTC. As próximas execuções nesta página são mostradas no seu próprio fuso horário, então converta se o seu servidor estiver configurado de forma diferente.
Esse formato funciona para Kubernetes, GitHub Actions, Quartz ou AWS?
Os CronJobs do Kubernetes e os agendamentos do GitHub Actions usam esse mesmo formato de 5 campos. O Quartz adiciona um campo de segundos, e o AWS EventBridge adiciona um campo de ano e usa ? em um dos campos de dia, então esses precisam de ajuste.
Como rodar uma tarefa só em dias úteis ou só nos fins de semana?
Defina o dia da semana como 1-5 para segunda a sexta, ou 0,6 para sábado e domingo. Deixe dia do mês e mês como * para não restringir nada além disso.
O que significam atalhos como @daily e @hourly?
São macros que algumas implementações de cron aceitam em vez de cinco campos. @hourly é 0 * * * *, @daily é 0 0 * * *, @weekly é 0 0 * * 0, @monthly é 0 0 1 * * e @yearly é 0 0 1 1 *. Digite qualquer um deles na caixa de expressão aqui e ele se expande automaticamente.