Gerador e Explicador de Expressão Cron

Monte um agendamento de crontab sem decorar a sintaxe — ou cole uma expressão existente para ver o que ela significa em português claro e exatamente quando ela vai rodar em seguida.

Atualizado em

A cada 15 minutos, entre 09:00 e 17:59, de segunda a sexta-feira

Agendas comuns

Criar agendamento

Em

Próximas execuções

    Editar campos

    0–59
    0–23
    1–31, L
    1–12, JAN–DEC
    0–6, SUN–SAT

    Sintaxe: * qualquer · 5 valor · 1-5 intervalo · 1,15 lista · */10 passo · 8-18/2 intervalo com passo · macros @hourly @daily @weekly @monthly @yearly.

    Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

    Como usar: Gerador de Expressão Cron

    1. 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.
    2. 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.
    3. Ajuste partes específicas em Editar campos (minuto, hora, dia do mês, mês e dia da semana).
    4. 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ãoSignificado
    */5 * * * *A cada 5 minutos
    0 * * * *No início de cada hora
    30 2 * * *Todos os dias às 02:30
    0 9 * * 1-509: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 * 5 significa “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. Use 0 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. */45 no 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?
    A barra é um passo: */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?
    O cron padrão de 5 campos não consegue ir abaixo de um minuto. Use um agendador de 6 campos que suporte 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?
    O cron clássico usa o fuso horário do sistema do servidor (algumas versões respeitam a variável 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 * * *?
    Nenhuma — @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?
    O cron Unix simples não tem valor de “último dia”. Use 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?
    Datas impossíveis, como 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.
    Posso instalar o Gerador de Expressão Cron como um aplicativo da web e usá-lo offline?
    Sim. O Gerador de Expressão Cron é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

    Ferramentas relacionadas