Como usar: Gerador de Expressão Cron
- Escolha uma agenda comum, ou use Criar agendamento para definir a frequência, os dias da semana e o horário, depois clique em Usar este agendamento.
- Ou cole uma expressão existente, como
30 2 * * 1, na caixa Expressão cron — a descrição em português atualiza enquanto você digita. - Ajuste partes específicas em Editar campos (minuto, hora, dia do mês, mês e dia da semana).
- Confira a lista de Próximas execuções no horário local ou em UTC, depois copie a expressão para o seu crontab, fluxo de CI ou agendador.
O que é uma expressão cron?
Uma expressão cron é um agendamento compacto formado por cinco campos separados por espaço, que informa ao daemon cron do Unix — e a ferramentas baseadas na mesma sintaxe, como GitHub Actions, GitLab CI, Kubernetes CronJobs, Vercel e muitas filas de tarefas — quando executar uma tarefa. Este gerador permite montar uma expressão a partir de menus, explica qualquer expressão em português claro usando a biblioteca de código aberto cRonstrue e calcula as próximas execuções para você verificar o agendamento antes de colocá-lo em produção.
Os cinco campos
┌──────── minuto (0–59)
│ ┌────── hora (0–23)
│ │ ┌──── dia do mês (1–31)
│ │ │ ┌── mês (1–12, JAN–DEC)
│ │ │ │ ┌ dia da semana (0–6, SUN–SAT)
│ │ │ │ │
* * * * * comando
No campo de dia da semana, 7 também significa domingo.
Cada campo aceita * (todos os valores), um número único, um intervalo 1-5, uma lista 1,15,30, um passo */10 ou um intervalo com passo 9-17/2. Alguns agendadores (Quartz, Spring, AWS EventBridge) adicionam um campo inicial de segundos; marque “Campo de segundos” para trabalhar com expressões de 6 partes.
Exemplos
| Expressão | Significado |
|---|---|
*/5 * * * * | A cada 5 minutos |
0 * * * * | No início de cada hora |
30 2 * * * | Todos os dias às 02:30 |
0 9 * * 1-5 | 09:00 em dias úteis |
0 0 1 * * | Meia-noite no dia 1 de cada mês |
0 0 1 */3 * | Meia-noite no primeiro dia de cada trimestre |
15 14 1 * * | 14:15 no dia 1 de cada mês |
Erros comuns
- Dia do mês e dia da semana. Se os dois campos forem restritos, o cron clássico executa a tarefa quando qualquer um dos dois coincide.
0 0 13 * 5significa “todo dia 13 e toda sexta-feira”, não “sexta-feira 13”. A lista de próximas execuções segue essa regra. - Esquecer o minuto.
* 9 * * *executa 60 vezes entre 09:00 e 09:59. Use0 9 * * *para executar uma vez. - Fusos horários. O cron usa o fuso horário do servidor; o GitHub Actions e a maioria dos agendadores em nuvem usam UTC. Mude a lista para UTC para comparar.
- Passos irregulares.
*/45no campo de minuto dispara em :00 e :45, depois em :00 de novo — os passos recomeçam a cada hora, não se acumulam. - Números de dia no Quartz. O Quartz conta o domingo como 1, enquanto o cron Unix usa 0 (ou 7). Esta ferramenta usa a numeração Unix.
Extensões não padronizadas
L no campo de dia do mês (último dia do mês), 5L (última sexta-feira) e 1#2 (segunda segunda-feira) são suportados pelo Quartz e por algumas implementações de cron, mas não pelo Vixie cron no Linux. Eles são explicados e visualizados aqui, mas confira se o seu agendador aceita. Precisa converter um horário de execução para um valor epoch? Experimente o Conversor de Unix Timestamp ou o Conversor de Fuso Horário.
Agendas cron mais comuns
Expressões cron prontas para os agendamentos que as pessoas mais procuram:
- A cada minuto
- A cada 2 minutos
- A cada 5 minutos
- A cada 10 minutos
- A cada 15 minutos
- A cada 20 minutos
- A cada 30 minutos
- A cada hora
- A cada 2 horas
- A cada 3 horas
- A cada 4 horas
- A cada 6 horas
- A cada 12 horas
- Todos os dias à meia-noite
- Todo dia à 1h
- Todo dia às 2h
- Todo dia às 6h
- Todo dia às 9h
- Todo dia ao meio-dia
- Todo dia às 18h
- Duas vezes ao dia
- Todo dia útil às 9h
- Todo fim de semana
- Toda Segunda-feira
- Toda sexta às 17h
- Todo domingo
- Toda semana
- A cada hora em horário comercial
- A cada 15 minutos em horário comercial
- Todo mês
- Todo dia 15 do mês
- Dias 1 e 15 do mês
- Todo trimestre
- A cada 6 meses
- Cron todo ano
- A cada 30 segundos
- No último dia do mês
- Na primeira segunda-feira do mês
Perguntas frequentes
O que significa */15 no cron?
*/15 no campo de minuto significa a cada 15 minutos a partir de 0, ou seja, :00, :15, :30 e :45. 5-50/15 resultaria em :05, :20, :35 e :50.Como executar uma tarefa cron a cada 30 segundos?
*/30 * * * * *), ou adicione duas linhas no crontab, sendo que a segunda começa com sleep 30;.O horário do cron é UTC ou local?
CRON_TZ). GitHub Actions, Kubernetes (por padrão) e a maioria dos agendadores em nuvem avaliam as expressões em UTC. A lista de execuções aqui pode mostrar qualquer um dos dois.Qual é a diferença entre @daily e 0 0 * * *?
@daily (ou @midnight) é uma forma abreviada de 0 0 * * *. Da mesma forma, @hourly = 0 * * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * * e @yearly = 0 0 1 1 *.Como agendar uma tarefa para o último dia do mês?
L se o seu agendador suportar (0 0 L * *), ou execute diariamente nos dias 28 a 31 e teste a data no comando: 0 0 28-31 * * [ "$(date -d tomorrow +\%d)" = "01" ] && ./job.sh.Por que minha expressão nunca executa?
0 0 31 2 * (31 de fevereiro) ou 0 0 31 4 * (31 de abril), nunca coincidem. A lista de próximas execuções mostra um aviso quando nenhuma execução é encontrada nos próximos dez anos.