Gerador e explicador de expressão cron
Cole uma expressão cron e veja o que ela faz em português, campo por campo, e as próximas execuções no fuso que você escolher. Funciona com crontab, Kubernetes, GitHub Actions e Quartz. Também dá para montar a expressão a partir do horário que você quer.
Digite ou cole uma expressão
Ou escolha um dos exemplos. A explicação e as próximas execuções aparecem aqui.
Montar uma expressão
Escolha a frequência e o horário. A expressão sai no formato selecionado acima.
0 9 * * 1-5Às 09:00, de segunda-feira a sexta-feiraO que é uma expressão cron
É uma linha de campos separados por espaço que diz quando um job roda. No crontab do Linux, no CronJob do Kubernetes e no schedule do GitHub Actions são 5 campos. O Quartz, agendador usado em Java, acrescenta os segundos no começo e um ano opcional no fim.
Os 5 campos do cron padrão
A ordem é sempre minuto, hora, dia do mês, mês e dia da semana. 30 9 * * 1 quer dizer minuto 30, hora 9, qualquer dia do mês, qualquer mês, segunda-feira.
| Campo | Valores |
|---|---|
| Minuto | 0 a 59 |
| Hora | 0 a 23 |
| Dia do mês | 1 a 31 |
| Mês | 1 a 12 ou JAN a DEC |
| Dia da semana | 0 a 6 ou SUN a SAT (0 é domingo) |
Asterisco, vírgula, hífen e barra
- * aceita qualquer valor do campo.
- Vírgula separa valores: 0,30 no minuto roda nos minutos 0 e 30.
- Hífen marca um intervalo: 1-5 no dia da semana vai de segunda a sexta.
- Barra define o passo: */15 no minuto roda a cada 15 minutos, e 9-17/2 na hora roda às 9, 11, 13, 15 e 17.
O que muda no Quartz
O primeiro campo são os segundos, e o domingo vale 1 (sábado é 7). Um dos campos de dia precisa ser ?, que quer dizer sem valor. O Quartz também aceita L para o último dia do mês, LW para o último dia útil, 15W para o dia útil mais próximo do dia 15, 6L para a última sexta-feira e 6#3 para a terceira sexta-feira do mês.
Fuso horário e horário de verão
A expressão não diz o fuso. O crontab usa o fuso do servidor, o GitHub Actions usa UTC e o Kubernetes usa o fuso do controller, a não ser que spec.timeZone esteja definido. Para rodar às 9h de Brasília num agendador em UTC, a hora é 12. Nos fusos com horário de verão, um horário pode não existir no dia em que o relógio adianta, ou acontecer duas vezes quando ele atrasa. A lista de execuções marca esses casos.
Perguntas frequentes sobre expressão cron
As dúvidas de quem agenda job no crontab, no Kubernetes, no GitHub Actions e no Quartz.