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.
Também pesquisado como: crontab, gerador cron, explicador cron, sintaxe cron, crontab guru, agendamento cron, cron job, parser cron.
Ferramentas que combinam com: Gerador de Expressão Cron
- Gerador de systemd Service — Rode seu app como um serviço Linux de verdade, que inicia com o sistema e reinicia quando trava.
- Calculadora de Diferença de Datas — Conte os dias entre duas datas, incluindo dias úteis e a divisão em anos/meses/dias, some ou subtraia tempo de uma data ou acompanhe uma contagem regressiva em tempo real.
- Testador de Expressões Regulares — Digite um padrão e veja as correspondências serem destacadas em tempo real no seu texto de teste.
- Formatador HTML — Cole HTML minificado ou bagunçado e receba um código limpo e com indentação consistente, incluindo os blocos <style> e <script> embutidos.
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.