Explicador de Expressões Cron
Leia qualquer expressão cron em linguagem simples, campo por campo, e veja exatamente quando ela vai rodar de novo.
Explicador de Expressões Cron - o que a sua linha do crontab realmente significa
Cole uma expressão cron e leia-a como uma frase simples, veja cada um dos cinco campos separadamente e confira as próximas execuções no seu próprio fuso horário ou em UTC. A ferramenta pega os erros que fazem um job rodar na hora errada: um valor fora do intervalo, uma expressão de seis campos copiada do Quartz ou um agendamento que nunca pode acontecer, como 31 de fevereiro.
O cron é o agendador por trás dos crontabs do Linux e do macOS, e a sua sintaxe também é usada por CronJobs do Kubernetes, GitHub Actions, GitLab CI e pela maioria dos agendadores na nuvem. A sintaxe é compacta e fácil de ler errado; uma conferida rápida aqui evita um job que roda a cada minuto em vez de uma vez por dia.
Como usar
- Digite ou cole uma expressão cron, ou escolha uma em Agendamentos comuns.
- Leia a descrição e os cinco campos abaixo dela.
- Confira a lista Próximas execuções; alterne o Fuso horário entre Este dispositivo e UTC.
- Se um campo estiver contornado em vermelho, a mensagem acima dele diz o que está errado.
Os cinco campos
| Campo | Valores permitidos | Exemplo | Significado |
|---|---|---|---|
| Minuto | 0–59 | 30 | No minuto 30 |
| Hora | 0–23 | 9-17 | Das 09:00 às 17:59 |
| Dia do mês | 1–31 | 1,15 | Nos dias 1 e 15 |
| Mês | 1–12 ou JAN–DEC | */3 | Janeiro, abril, julho, outubro |
| Dia da semana | 0–6 ou SUN–SAT (7 = domingo) | 1-5 | De segunda a sexta |
Caracteres especiais
*significa todos os valores do campo.,separa uma lista:1,15,30.-define um intervalo:9-17./define um passo:*/15é um a cada 15 valores a partir do menor,5/15um a cada 15 a partir de 5.- Macros substituem a linha inteira:
@hourly,@daily,@weekly,@monthly,@yearly.
A armadilha do dia do mês e do dia da semana
Quando os dois campos de dia estão restritos, o cron padrão roda o job nos dias que correspondem a qualquer um deles, não aos dois. 0 0 1 * 1 roda à meia-noite no dia 1º de todo mês e também em toda segunda-feira. As pessoas costumam esperar "as segundas que caem no dia 1º", o que o cron comum não consegue expressar. A ferramenta mostra um aviso sempre que os dois campos estão definidos, e a lista de próximas execuções deixa o comportamento real evidente.
Fusos horários
O cron usa o fuso horário da máquina ou do serviço que o executa. Servidores e agendadores na nuvem, como o GitHub Actions, costumam rodar em UTC, então um job escrito para 09:00 pode disparar às 09:00 UTC, que é outra hora na maioria dos lugares, e ele se desloca uma hora quando o horário de verão começa ou termina onde você mora. Compare as próximas execuções em Este dispositivo e em UTC para ver a diferença antes de publicar.
O que esta ferramenta não suporta
- Segundos: expressões de seis e sete campos do Quartz e do Spring são sinalizadas em vez de mal interpretadas.
- Extensões não padrão como
L,We#, que alguns agendadores acrescentam. @reboot, que roda uma vez na inicialização e não tem próxima execução.
Ferramentas relacionadas
Para transformar um horário de execução em timestamp Unix ou o contrário, use o conversor de timestamp Unix. As páginas de tarefa abrem esta ferramenta com um agendamento comum: a cada 5 minutos, a cada hora e todo dia à meia-noite.