Mais jogos no WuGames.ioPatrocinadoDescubra jogos de navegador grátis — jogue na hora, sem download nem cadastro.Jogar

Gerador de Expressão Cron

Construa, analise e valide expressões crontab e Quartz. Cole qualquer linha ou macro @daily, expanda, veja o texto legível e as próximas execuções.

Analisar / Validar expressão
Construtor de Expressão Cron
Expressão Cron
* * * * *
Legível por Humanos
Every minute
Exemplos Comuns

Como funcionam as expressões Cron: sintaxe, campos e exemplos

Um poderoso gerador online de expressão Cron que ajuda você a criar, analisar, validar e visualizar expressões de agendamento cron. Cole uma linha crontab ou Quartz existente (incluindo macros @), expanda-a no construtor visual, execute validação estrita por campo e veja as próximas execuções. Suporta formatos Unix/Linux (5 campos) e Quartz (6-7 campos).

O que é uma Expressão Cron?

Uma expressão cron é uma string que define um agendamento para tarefas automatizadas. Consiste em campos representando unidades de tempo:

- Minutos (0-59)
- Horas (0-23)
- Dia do Mês (1-31)
- Mês (1-12 ou JAN-DEZ)
- Dia da Semana (0-7 ou DOM-SAB, onde 0 e 7 = Domingo)
- Ano (opcional, para Quartz)

Caracteres especiais:
* (asterisco) - Qualquer valor
, (vírgula) - Separador de lista de valores
- (hífen) - Intervalo de valores
/ (barra) - Valores incrementais
? (interrogação) - Nenhum valor específico (apenas Quartz)

Exemplo: `0 9 * * 1-5` significa "Às 9:00, segunda a sexta"

Gerador de Expressão Cron — Construa, analise e valide expressões crontab e Quartz. Cole qualquer linha ou macro @daily, expanda, veja o texto legív
Gerador de Expressão Cron

O que significam as macros @daily, @hourly e @reboot?

A maioria das implementações de crontab (Vixie/cron, timers do systemd e muitos runners de CI) aceita macros de apelido no lugar dos cinco campos:

@yearly ou @annually = `0 0 1 1 *` (uma vez por ano, 1 de janeiro à meia-noite)
@monthly = `0 0 1 * *` (meia-noite do dia 1 de cada mês)
@weekly = `0 0 * * 0` (meia-noite todo domingo)
@daily ou @midnight = `0 0 * * *` (todo dia à meia-noite)
@hourly = `0 * * * *` (no início de cada hora)
@reboot = executa uma vez ao iniciar o sistema ou agendador (sem horário recorrente)

Cole qualquer uma dessas na caixa Analisar / Validar e a ferramenta expande a macro nos campos equivalentes, preenche o construtor e mostra as próximas execuções. @reboot não tem horário recorrente, então a prévia não se aplica. O Quartz NÃO suporta essas macros @; use-as apenas com cron Unix/Linux.

Por que meu cron roda em dias extras (dia do mês vs dia da semana)?

Esta é a pegadinha profissional mais comum. Quando AMBOS os campos dia do mês e dia da semana estão restritos (nenhum é *), o cron Unix padrão usa lógica OU, não E.

Exemplo: `0 9 15 * 1` NÃO significa "o dia 15 apenas se for segunda". Significa "às 9:00 no dia 15 OU em qualquer segunda-feira" - portanto roda muito mais do que o esperado.

Regras:
- Se apenas um dos dois campos estiver definido (o outro é *), só esse campo se aplica.
- Se AMBOS estiverem definidos, corresponde quando QUALQUER um corresponder (OU).
- Para um único critério, deixe o outro campo como * (Unix) ou ? (Quartz): use `0 9 15 * *` para o dia 15, ou `0 9 * * 1` para segundas.

Este gerador implementa a semântica OU correta, então as Próximas Execuções refletem exatamente o comportamento real do cron; cole sua expressão para confirmar antes de implantar.