Saltar para o conteúdo principal
LibraTool logoLibraTool

Construtor de Expressões Cron grátis

Construa, valide e explique expressões cron para tarefas agendadas. Descrição em português claro ao vivo, pré-visualização das próximas 5 execuções e predefinições de padrões comuns.

Funciona offline depois de carregado
minuto
(0-59)
hora
(0-23)
dia
(1-31)
mês
(1-12)
dia da semana
(0-7)

Em linguagem simples

Em 09:00, Segunda a sexta-feira.

Padrões comuns

Compatível com Unix cron padrão, GitHub Actions, Kubernetes CronJob e a maioria dos sistemas de agendamento. Use * para 'todo', */5 para 'a cada 5', 1-5 para intervalos, 1,15 para valores específicos. Também aceita @hourly, @daily, @weekly, @monthly, @yearly, e nomes como MON-FRI ou JAN-DEC.

Usos comuns

  • Construir Cron para Fluxos de Trabalho do GitHub ActionsGitHub Actions usa sintaxe cron para fluxos de trabalho programados. Construa e verifique seu cronograma aqui.
  • Construir Cron para Kubernetes CronJobsRecursos Kubernetes CronJob usam sintaxe cron padrão. Construa e explique a expressão visualmente.
  • Construir Entradas Cron para Linux crontabConstrua expressões para cron Unix tradicional (cron, crontab -e) com confiança.
  • Agendar Tarefas de Manutenção de Banco de DadosAgende backup, vácuo ou tarefas de análise com confiança usando expressões cron.
  • Aprenda Como as Expressões Cron FuncionamCada ajuste mostra explicação em inglês simples instantâneo e visualização das próximas 5 execuções — melhor forma de aprender cron.

Como funciona

O construtor de expressões cron funciona inteiramente no seu navegador usando um analisador escrito à mão em lib/cron.ts — sem biblioteca externa, sem chamada a servidor. Valida a expressão, monta uma descrição em linguagem simples usando as APIs integradas Intl.DateTimeFormat e Intl.ListFormat do navegador para nomes de dias e meses com consciência de região, e calcula as próximas horas agendadas de execução avançando pelo tempo com lógica de salto de campo em vez de forçar bruta cada minuto.

  1. 1
    Expressão analisada campo por campo
    O analisador divide a expressão em cinco (ou seis) campos delimitados por espaços e tokeniza cada um para vírgulas, intervalos (por exemplo, 1-5), notação de passo (por exemplo, */15), e valores nomeados como MON ou JAN. As @macros como @daily são expandidas para os seus equivalentes de cinco campos antes de a análise começar. Valores inválidos ou números fora do intervalo aparecem como chaves de erro tipadas que mapeiam para mensagens localizadas.
  2. 2
    Descrição legível por humanos montada
    describeCron() em lib/cron.ts constrói a frase em inglês (ou localizada) inspecionando quais campos são curingas versus conjuntos explícitos. Os nomes de dias e meses são resolvidos através de Intl.DateTimeFormat com a região ativa, e os itens da lista são unidos usando Intl.ListFormat para que a conjunção ('e' vs ',' vs forma específica da região) corresponda ao idioma do usuário.
  3. 3
    Próximas horas de execução calculadas com salto de campo
    nextRuns() avança um objeto Date a partir do momento atual, mas salta meses, dias, ou horas inteiros que não podem corresponder em vez de testar cada minuto. Isto significa que um agendamento impossível como 30 de fevereiro sai rapidamente através de uma verificação de horizonte de cinco anos em vez de fazer ciclo 2,6 milhões de vezes.
  4. 4
    Expressão compartilhada via o fragmento do URL
    Qualquer expressão que você digita é gravada no fragmento do URL da página como #expr= (com debounce de 500 ms via window.history.replaceState). O fragmento nunca é enviado a um servidor; a página é hidratada a partir dele no carregamento, para que compartilhar ou marcar um URL restaure a expressão exata sem qualquer estado de servidor.

Ferramentas relacionadas

Perguntas frequentes