Gerador de expressão cron

Escreva um agendamento cron e veja exatamente quando ele roda.

0-59
0-23
1-31
1-12 ou JAN-DEC
0-6 ou SUN-SAT (7 também é domingo)
At 09:00 AM, Monday through Friday

Próximas 10 execuções

    Referência rápida da sintaxe cron
    CampoValores permitidos
    Minuto0-59
    Hora0-23
    Dia do mês1-31
    Mês1-12 ou JAN-DEC
    Dia da semana0-6 ou SUN-SAT (7 também é domingo)
    SímboloSignificado
    *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.

    Como escrever uma expressão cron

    1. Escolha um modelo, ou digite uma expressão com cinco campos.
    2. Ajuste campos específicos nas caixas abaixo dela.
    3. Confira a explicação e as próximas execuções, depois copie a expressão.

    Agendamentos cron comuns

    AgendamentoExpressãoSignificado
    A cada minuto* * * * *Roda 60 vezes por hora
    A cada 5 minutos*/5 * * * *Às :00, :05, :10 e assim por diante
    Toda noite às 2h0 2 * * *Uma vez a cada 24 horas
    Dias úteis às 9h0 9 * * 1-5Só de segunda a sexta
    Primeiro dia do mês0 0 1 * *Meia-noite no dia 1
    A cada 6 horas0 */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.

    SistemaCamposNota
    Cron / crontab padrão5Minuto, hora, dia do mês, mês, dia da semana
    Kubernetes CronJob5Mesmo formato, entre aspas como texto no YAML
    GitHub Actions5Definido em on.schedule.cron, sempre roda em UTC
    Quartz (Java)6 ou 7Adiciona um campo de segundos antes do minuto
    AWS EventBridge6Adiciona 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.

    Ferramentas relacionadas