Menu

Gerador de expressão cron

Crie, decodifique e visualize agendamentos cron com as próximas execuções.

Última atualização

Presets
Expressão
Minuto*/15
Hora*
Dia do mês*
Mês*
Dia da semana*
Linguagem claraVálido

A cada 15 minutos

Próximas 5 execuções (hora local)
  • 12026-04-26 20:15 Sun
  • 22026-04-26 20:30 Sun
  • 32026-04-26 20:45 Sun
  • 42026-04-26 21:00 Sun
  • 52026-04-26 21:15 Sun

O que é uma expressão cron?

Uma expressão cron é uma forma compacta de descrever um agendamento recorrente. É a mesma sintaxe do cron do Unix, o agendador clássico do Linux — e que se espalhou por praticamente todo orquestrador de tarefas que você vai encontrar por aí: CronJobs do Kubernetes, schedules do GitHub Actions, AWS EventBridge, Cloudflare Workers, cron da Vercel e a maioria das plataformas de CI/CD.

O formato parece intimidador, mas na prática são só cinco campos separados por espaço: minuto, hora, dia-do-mês, mês e dia-da-semana. Cada campo aceita um número, uma lista (1,15), um intervalo (9-17), um passo (*/5) ou um curinga (*). Uma boa ferramenta de cron transforma isso em uma frase em linguagem natural e mostra os próximos disparos, para você validar tudo antes de subir pra produção.

Algumas plataformas estendem a sintaxe básica de 5 campos com um campo de *segundos* no início (Quartz, Spring, Kubernetes em modo 6 campos) ou um campo de *ano* no final. Sempre confirme qual formato seu agendador aceita antes de colar a expressão.

O que você vai aprender ao montar agendamentos cron

  • Uma expressão cron padrão tem 5 campos: minuto, hora, dia-do-mês, mês e dia-da-semana.
  • * significa "qualquer valor" naquele campo — é o motivo mais comum de uma tarefa rodar mais vezes do que você esperava.
  • */N significa "a cada N unidades" — */5 no campo de minuto é "a cada 5 minutos".

Como escrever uma expressão cron passo a passo

  1. Comece por um preset

    Escolha um preset próximo do que você quer — A cada minuto, De hora em hora, Diário às 9h, Dias úteis às 9h, Mensal. A expressão aparece no editor.

  2. Ajuste cada campo

    Edite minuto, hora, dia-do-mês, mês e dia-da-semana. Use * para qualquer valor, listas com vírgula, intervalos (9-17) ou passos (*/15).

  3. Leia a explicação em linguagem natural

    A ferramenta transforma sua expressão em uma frase (Às 09:00 em todos os dias úteis). Se a frase não bate com o que você queria, a expressão está errada.

  4. Confira as próximas execuções

    Verifique os próximos 5 a 10 horários no seu fuso. Fique de olho na transição do horário de verão se o agendamento cair perto da virada.

  5. Cole no seu agendador

    Leve a expressão para o seu crontab, workflow do GitHub Actions, CronJob do Kubernetes ou qualquer agendador que você esteja usando.

Referência rápida dos campos do cron

Os cinco campos de uma expressão cron padrão, em ordem. Referência: a man page POSIX do crontab(5).

PosiçãoCampoFaixaEspeciais
1Minuto0–59* , - /
2Hora0–23* , - /
3Dia do mês1–31* , - / ? (em alguns dialetos)
4Mês1–12 ou JANDEC* , - /
5Dia da semana0–6 (Dom=0) ou SUNSAT* , - /

Exemplos de expressões cron para testar

A cada 5 minutos

Expressão

*/5 * * * *

Lê-se

A cada 5 minutos — no início da hora e a cada 5 minutos depois disso.

Valores com passo (*/5) são a forma mais simples de expressar "a cada N" sem precisar listar cada número. Muito usados em health checks e jobs de polling.

Dias úteis às 9h

Expressão

0 9 * * 1-5

Lê-se

Às 09:00 de segunda a sexta-feira.

O intervalo 1-5 no dia-da-semana significa segunda a sexta. Útil para lembretes em horário comercial e digests que só fazem sentido em dia útil.

Todo dia 1 do mês à meia-noite

Expressão

0 0 1 * *

Lê-se

Às 00:00 do dia 1 de cada mês.

Dia-do-mês 1 mais * em todos os outros campos resulta num job realmente mensal. Comum em cobrança, fechamento de relatórios e rotinas de rodízio.

Duas vezes por hora, em horário comercial, em dias úteis

Expressão

0,30 9-17 * * 1-5

Lê-se

Nos minutos 0 e 30, entre 09:00 e 17:00, de segunda a sexta-feira.

Lista com vírgula (0,30) mais intervalo (9-17) mais dias úteis. É o tipo de agendamento que você usaria pra atualizar um BI ou esvaziar uma fila que só importa durante o expediente.

Erros comuns com cron

  • Esquecer do fuso horário. A maioria dos daemons de cron dispara no fuso *do servidor* — não no seu. Defina o fuso explicitamente quando a plataforma permitir.
  • Definir dia-do-mês e dia-da-semana ao mesmo tempo. No cron clássico do Unix, o agendamento dispara em qualquer dia que bata com *um* dos dois — o que pega quase todo mundo de surpresa na primeira vez.
  • Usar */45 esperando que dispare a cada 45 minutos. Os passos são contados a partir do 0, então */45 dispara aos minutos 0 e 45 — e não em um intervalo real de 45 em 45 minutos.

Perguntas frequentes sobre expressões cron

Como escrever uma expressão cron?
Uma expressão cron padrão tem cinco campos separados por espaço: minuto, hora, dia-do-mês, mês e dia-da-semana. Use * para *qualquer valor*, um número para um valor exato, lista com vírgula (1,15), intervalo (9-17) ou passo (*/5).
O que significa */5 * * * *?
Significa "a cada 5 minutos". O */5 no campo de minuto dispara no minuto 0 e a cada 5 minutos depois — 0, 5, 10, 15, …, 55 — e o * em todos os outros campos faz disparar a cada hora, todo dia, todo mês e em qualquer dia da semana.
Que fuso horário o cron usa?
Por padrão, o cron usa o fuso horário do sistema onde está rodando. A maioria dos agendadores em nuvem permite definir o fuso explicitamente (TZ=Europe/Berlin, schedule expressions da AWS etc.). Na dúvida, armazene os agendamentos em UTC.
Dá pra rodar uma expressão cron a cada segundo?
O cron padrão de 5 campos tem o minuto como menor unidade, então a granularidade máxima é por minuto. O cron do Quartz, do Spring e algumas versões do Kubernetes adicionam um 6º campo de *segundos* para agendamentos abaixo de um minuto.
Qual a diferença entre 0 0 * * 0 e 0 0 * * 7?
Os dois descrevem domingo à meia-noite. O dia-da-semana vai de 0 a 6 (Dom–Sáb) na maioria das implementações de cron, mas o 7 também é aceito como domingo, por compatibilidade com alguns dialetos.

Outras ferramentas para desenvolvedores

Aprenda a programar com o Coddy

COMEÇAR