Visualizador & Simulador Cron Multi-Engine
Valide, decodifique, simule execuções futuras e construa expressões Cron em Unix POSIX, Quartz/Spring e AWS EventBridge em tempo real.
A cada 15 minutos entre as horas 9-17, de segunda a sexta-feira.
# Executa: A cada 15 minutos entre as horas 9-17, de segunda a sexta-feira. */15 9-17 * * 1-5 /usr/local/bin/backup-job.sh >> /var/log/cron.log 2>&1
O que é uma Expressão Cron e Como os Agendadores Funcionam?
O utilitário cron é um agendador de processos em segundo plano tradicional dos sistemas operacionais Unix-like. Uma expressão cron consiste em uma sequência de campos separados por espaço que define a periodicidade de disparo de uma tarefa recorrente (cron job).
Com o passar das décadas, diferentes ecossistemas ampliaram a especificação POSIX original de 5 campos. O Quartz Scheduler e o Spring Framework introduziram um campo opcional de segundos na primeira posição e ano na última, além de caracteres especiais como '?' para ignorar campos conflitantes e 'L' para indicar o último dia. Já a AWS (EventBridge e CloudWatch) exige 6 campos com ano obrigatório e requer o uso estrito de '?' em dia do mês ou dia da semana.
Anatomia e Posição dos Campos Cron
Entenda a ordem dos campos e os valores aceitos por cada engine:
| Posição | Campo | Tamanho | Finalidade Técnica |
|---|---|---|---|
| 1 | Minuto (Unix) / Segundo (Quartz) | - | Instante de disparo no minuto (0-59). Em Quartz, esta primeira coluna representa segundos. |
| 2 | Hora (Unix) / Minuto (Quartz) | - | Hora do dia em formato de 24 horas (0 = meia-noite, 23 = 23:00). Em Quartz, representa minutos. |
| 3 | Dia do Mês | - | Dia do calendário em que a execução deve ocorrer. 'L' designa o último dia do mês corrente. |
| 4 | Mês | - | Mês do ano numérico ou textual abreviado de três letras em inglês. |
| 5 | Dia da Semana | - | Dia da semana. Em Unix, 0 e 7 representam Domingo. Em Quartz, 1 = Domingo até 7 = Sábado. |
| 6 | Ano (Opcional Quartz / Obrigatório AWS) | - | Ano civil de 4 dígitos. Obrigatório em regras do AWS EventBridge e opcional em Quartz. |
Tabela de Operadores e Caracteres Especiais
Como os operadores lógicos modificam o ciclo de execução das expressões:
- Asterisco (*): Representa todos os valores possíveis do campo. No campo de minutos, significa 'a cada minuto'.
- Barra (/ ou Passo): Especifica incrementos de valores. '*/15' no campo de minutos significa 'a cada 15 minutos'.
- Hífen (- ou Intervalo): Define uma faixa contígua de valores inclusive. '9-17' nas horas significa 'das 09:00 às 17:00'.
- Vírgula (, ou Lista): Separa múltiplos valores discretos. 'MON,WED,FRI' ou '1,15,30' executa apenas nos itens enumerados.
- Interrogação (?): Usado em Quartz e AWS quando você especifica um dia do mês e deseja ignorar o dia da semana (ou vice-versa).
- Último (L) e Dia Útil (W): 'L' indica o último dia do mês (ou último dia da semana, ex: 5L). 'W' busca o dia útil (Seg-Sex) mais próximo do dia especificado.