Cron Expression Tester · Scheduling
Leia qualquer expressão cron num relance.
Cole uma linha de crontab como */15 9-17 * * 1-5 para obter uma explicação em linguagem natural do que ela faz, mais as próximas execuções — inteiramente no seu navegador, gratuito, sem cadastro.
Roda no seu navegador — nada do que você cola sai desta página. Como comprovamos isso
Área de testes do Cron Expression Tester
Five fields — minute, hour, day of month, month, day of week. Macros like @daily are supported too.
Results update as you type — press Enter to run now.
Type a cron expression or pick an example to see a plain-English description and the next run times here.
Verify an AI's answer
Paste what ChatGPT or Claude told you — this recomputes it exactly, locally. Why AI needs checking →
Enter a cron expression above, then paste in what an AI told you to check it.
| Claim | Actual | Verdict |
|---|
O problema
Cinco campos, cem maneiras de lê-los errado.
A sintaxe do cron é famosamente concisa. A diferença entre */5 e 5, ou entre uma tarefa que roda uma vez por dia e uma que roda a cada minuto do dia, é um único caractere — e a clássica regra OR do dia do mês / dia da semana faz tropeçar até engenheiros experientes. Um erro de digitação aqui não lança um erro; ele simplesmente roda em silêncio na hora errada.
Este tester converte qualquer expressão cron para linguagem natural — uma frase legível que você pode de fato verificar — e então mostra as próximas execuções para que o agendamento seja concreto em vez de abstrato. É a conferência rápida que cabe entre escrever uma linha de crontab e colocá-la em produção — inteiramente no navegador, sem nada para instalar.
Ele também é o antídoto para perguntar a uma IA: a regra OR do dia do mês / dia da semana faz tropeçar os modelos de linguagem o tempo todo, então um agendamento que parece plausível pode disparar nos dias errados. Este tester aplica a semântica real do cron e mostra os próximos horários de disparo de verdade — a referência confiável contra a qual você pode conferir qualquer linha de crontab sugerida por uma IA.
Novo no formato? Pule para a sintaxe ou experimente a área de testes ao vivo acima.
O processo
Como funciona.
Quatro passos determinísticos rodam de ponta a ponta a cada tecla pressionada — tudo dentro da aba do seu navegador, sempre.
-
Tokeniza a linha.
Sua expressão é dividida em seus cinco campos — ou expandida a partir de um @macro como @daily — exatamente como o cron a lê.
-
Analisa cada campo.
Cada campo é decodificado no conjunto de valores que corresponde: intervalos, passos, listas e meses ou dias da semana nomeados se resolvem todos em números concretos.
-
Descreve em linguagem natural.
Os conjuntos correspondentes são compostos em uma frase legível, incluindo a regra OR do dia do mês / dia da semana quando ambos estão restritos.
-
Projeta as próximas execuções.
Partindo de agora no seu fuso horário, o agendamento é percorrido para frente para listar as próximas vezes em que vai disparar.
Sintaxe do cron
Cinco campos, poucos operadores.
Uma linha padrão de crontab é composta por cinco campos separados por espaços, lidos da esquerda para a direita. Cada um aceita o mesmo pequeno conjunto de operadores, e um punhado de @macros substituem os agendamentos mais comuns.
Os cinco campos
Minuto, hora, dia do mês, mês e dia da semana — nessa ordem. Um * significa “cada valor” para aquele campo.
┌───────────── minute (0 - 59)
│ ┌─────────── hour (0 - 23)
│ │ ┌───────── day of month (1 - 31)
│ │ │ ┌─────── month (1 - 12)
│ │ │ │ ┌───── day of week (0 - 6)
│ │ │ │ │
*/15 9-17 * * 1-5 - Minuto
- 0–59
- Hora
- 0–23
- Dia do mês
- 1–31
- Mês
- 1–12 or JAN–DEC
- Dia da semana
- 0–7 or SUN–SAT
Operadores & macros
Intervalos, passos, listas e nomes se combinam dentro de qualquer campo. Os @macros são abreviações exatas — cada um se expande para uma linha simples de cinco campos.
# Operators, by example
* every value (every minute, every hour, …)
5 a single value (at minute 5)
1-5 a range (Monday through Friday)
*/15 a step over a range (every 15th minute)
0,30 a list (on the hour and the half hour)
MON-FRI named weekdays (same as 1-5) @yearly → 0 0 1 1 * once a year, at midnight on Jan 1
@monthly → 0 0 1 * * once a month, at midnight on the 1st
@weekly → 0 0 * * 0 once a week, at midnight on Sunday
@daily → 0 0 * * * once a day, at midnight
@hourly → 0 * * * * once an hour, at minute 0 Próximo passo
Saindo do crontab? Converta para um timer do systemd.
Assim que um agendamento for lido corretamente aqui, o Cron to systemd Converter transforma a mesma linha em uma unidade .timer e .service equivalente — com uma expressão OnCalendar e notas de migração para que o comportamento seja transferido de forma limpa.
[Timer]
# from: */15 9-17 * * 1-5
OnCalendar=Mon..Fri *-*-* 09..17:00/15
Persistent=true FAQ
Suas perguntas, respondidas.
Toque em uma pergunta para expandir a resposta.
O que é o Cron Expression Tester?
É uma ferramenta gratuita, executada no navegador, que lê qualquer expressão cron no estilo crontab, traduz para uma descrição em linguagem natural e calcula as próximas vezes em que ela vai disparar. Cole uma linha como “*/15 9-17 * * 1-5” e você vê na hora “A cada 15 minutos, entre 09:00 e 17:00, de segunda a sexta” junto com os horários das próximas execuções — sem cadastro, sem ida e volta ao servidor.
Minha expressão cron sai do meu navegador em algum momento?
Não. A análise, a explicação em linguagem natural e o cálculo da próxima execução acontecem todos no lado do cliente, na sua aba. Nada é enviado a um servidor, não há conta e não há registro de atividade. Você pode colar com segurança agendamentos de sistemas internos ou sensíveis.
Em qual fuso horário estão estas próximas execuções?
No que você escolher acima dos resultados: a ferramenta sempre escreve “Times shown in …” ao lado deles, porque um horário de execução sem o fuso é um palpite. Por padrão usa o fuso do seu navegador, e você pode trocar para UTC, para um preset ou para qualquer fuso IANA. Isso importa porque o cron dispara pelo relógio do HOST em que roda: um job em um contêiner UTC dispara em um momento diferente da mesma linha no seu notebook. Perto de uma mudança de horário de verão, a ferramenta pula um horário que não existe e executa uma vez só um horário repetido, na primeira ocorrência, e avisa quando uma mudança está próxima — as implementações reais de cron não concordam nesse ponto.
Qual sintaxe cron ele aceita?
O formato crontab padrão de cinco campos — minuto, hora, dia do mês, mês, dia da semana — incluindo intervalos (1-5), passos (*/15), listas (1,15,30), nomes (JAN, MON) e os @macros comuns (@hourly, @daily, @weekly, @monthly, @yearly, @midnight). Extensões específicas de cada fornecedor, como campos de segundos ou os qualificadores “L”/”W”/”#”, não fazem parte da especificação clássica do crontab e são sinalizadas em vez de adivinhadas silenciosamente.
Como as próximas execuções são calculadas?
A partir do horário atual no fuso horário que você selecionar, o tester percorre o agendamento para frente, campo a campo, e lista as próximas ocorrências. Como tudo roda localmente, os horários refletem o relógio da sua máquina — útil para conferir um agendamento antes de confiá-lo a um servidor cujo fuso horário pode ser diferente.
Por que o dia do mês e o dia da semana se comportam de forma estranha juntos?
O cron clássico trata o dia do mês e o dia da semana como um OR quando ambos estão restritos: a tarefa roda quando qualquer um dos campos coincide, não apenas quando os dois coincidem. É uma armadilha bem conhecida. O tester deixa isso explícito na descrição em linguagem natural para que uma linha do tipo “0 0 13 * 5” não te surpreenda em produção.
Posso transformar uma linha cron em um timer do systemd?
Sim — assim que um agendamento for lido corretamente aqui, vá ao Cron to systemd Converter para gerar uma unidade .timer e .service equivalente com uma expressão OnCalendar e notas de migração. As duas ferramentas foram pensadas para serem usadas uma logo após a outra.
O que significa */5 * * * * em cron?
A expressão de passo “*/5” no campo de minuto significa “a cada 5.º minuto”, então a tarefa dispara nos minutos 0, 5, 10, 15 … 55 de cada hora — na prática, a cada 5 minutos o tempo todo. O mesmo padrão de passo vale para outros campos: “*/15” no campo de minuto dispara a cada 15 minutos, em :00, :15, :30 e :45. Cole a expressão no tester para obter na hora a descrição legível e as próximas execuções.
O que significam os macros de cron @daily, @hourly e @weekly?
Macros são apelidos abreviados que começam com “@”. O tester aceita @hourly (0 * * * *), @daily e @midnight (ambos 0 0 * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *), @yearly e @annually (ambos 0 0 1 1 *) e @reboot (uma vez na inicialização do daemon, sem horários recorrentes). Cada macro se expande para a expressão equivalente de cinco campos antes de ser analisada, de modo que a descrição em linguagem natural e a saída da próxima execução refletem o agendamento completo já expandido.
Como validar a sintaxe cron online sem fazer cadastro?
Cole qualquer expressão cron padrão de 5 campos e o tester verifica se ela tem o número correto de campos e se cada valor está dentro do intervalo válido — minuto 0-59, hora 0-23, dia do mês 1-31, mês 1-12, dia da semana 0-7. Se a sintaxe for válida, ele mostra o significado em linguagem natural e as próximas execuções; se um campo estiver fora do intervalo ou malformado, a mensagem de erro identifica o campo problemático para que você possa corrigi-lo. Não é necessário ter conta e nada sai do seu navegador.
More free, private DevOps tools.
O Cron Expression Tester é uma das ferramentas do OpsCanopy — uma copa em crescimento de validadores, conversores e testers baseados no navegador que nunca tocam um servidor.
Mais em Agendamento
Começando com Linux? Leia o guia de Linux →
39 ferramentas gratuitas, todas capazes de funcionar offline — o opscanopy.com não exige cadastro e não envia nada.
Agendando tarefas no Linux? Combine com o Cron to systemd Converter, ou explore o diretório completo de ferramentas.
Não tem afiliação nem é endossado por qualquer implementação de cron. Os nomes de formato são usados apenas para descrever o que esta ferramenta lê. OpsCanopy é gratuito e aberto.