Resumo

Este gerador de expressão cron transforma uma descrição de agendamento, ou uma string cron colada, em uma expressão de 5 campos validada: minuto, hora, dia do mês, mês e dia da semana. Escolha um agendamento comum como a cada 5 minutos ou dias úteis às 9 AM, ou edite cada campo diretamente, com suporte para intervalos, listas e valores de passo. A ferramenta renderiza uma descrição clara em português do agendamento e calcula os próximos cinco horários de execução em UTC, usando a mesma lógica OU de dia-do-mês e dia-da-semana que vixie-cron e Kubernetes CronJob usam, para que o que você vê aqui corresponda ao que realmente dispara em produção.

Gerador de Expressão Cron para Agendamentos de Jobs e Janelas de Rollout

Construa uma expressão cron de 5 campos a partir de presets, ou cole uma para verificá-la. Obtenha uma descrição em português claro e os próximos cinco horários de execução antes que o agendamento seja ativado.

Gerador de expressão cron

Escolha campos ou um preset abaixo. A expressão, uma descrição em português claro, e os próximos cinco horários de execução são atualizados enquanto você digita.

0 9 * * 1-5

Sob o capô

Como funciona este gerador de expressão cron

Cinco campos, sintaxe padrão

Minuto, hora, dia do mês, mês e dia da semana: os mesmos campos que crontab, GitHub Actions schedule e Kubernetes CronJob leem. Intervalos (9-17), listas (1,15,30), passos (*/5) e curingas são analisados da mesma forma que fazem em produção.

Os campos de dia são OU'd, não E'd

Defina dia do mês como 1 e dia da semana como segunda, e o job executa no primeiro do mês ou em qualquer segunda, não apenas quando ambos se alinham. É assim que vixie-cron e Kubernetes CronJob realmente o avaliam, e é o detalhe que a maioria dos geradores pula.

Próximas cinco execuções, calculadas ao vivo

Cada edição recalcula cinco timestamps UTC caminhando para frente através do calendário real, para que um agendamento que nunca pode disparar, como o dia 30 em fevereiro, apareça vazio aqui ao invés de ficar silenciosamente morto em um crontab.

Cole para verificar, não apenas para construir

Já tem uma string cron de um colega, um manifesto CronJob ou uma resposta Stack Overflow antiga? Cole-a no campo e obtenha a mesma descrição e horários de execução, sem necessidade de um validador separado.

Como usar

De campos em branco para um agendamento em que você confia

  1. 1

    Comece com um preset

    Escolha um agendamento comum (a cada 5 minutos, dias úteis às 9 AM, mensalmente no 1º), ou deixe os padrões e ajuste a partir daí.

  2. 2

    Ajuste os campos que importam

    Use os dropdowns de seleção rápida ou digite diretamente: listas com vírgula, travessões para intervalos e */N para passos funcionam em cada campo.

  3. 3

    Confirme antes de fazer deploy

    Leia a descrição clara em português do agendamento e verifique os próximos cinco horários de execução contra sua janela de manutenção ou orçamento de SLO, depois copie a expressão para seu crontab, agendamento de CI ou manifesto CronJob.

Detalhe de implementação

Por que os campos dia-do-mês e dia-da-semana usam lógica OU

POSIX/vixie-cron, a implementação por trás do crontab Linux e Kubernetes CronJob, tem uma regra estranha que a maioria das pessoas nunca lê completamente. Se tanto o campo dia-do-mês quanto o campo dia-da-semana estão restritos longe de *, o job executa quando qualquer um deles corresponde, não apenas quando ambos o fazem. Defina dia-do-mês como 1 e dia-da-semana como segunda, e o agendamento dispara no primeiro do mês e em cada segunda, não apenas em uma segunda que acontece ser o primeiro. Deixe qualquer campo como *, e apenas o restrito restringe o dia. Este gerador segue essa convenção porque é o que realmente executa seu crontab, não uma versão simplificada dele. Importa mais para o tipo de agendamento que um time de plataforma escreve às 23h: execute isto no primeiro dia útil, ou no primeiro do mês, o que vir primeiro, parece um E para a maioria das pessoas e se comporta como um OU em produção.

  • POSIX/vixie-cron (crontab Linux, Kubernetes CronJob): OU uma vez que qualquer campo de dia está restrito
  • Quartz cron (comum em agendadores baseados em Java): geralmente requer que um dos dois campos de dia permaneça como ? em vez de *, evitando a ambiguidade completamente
  • Este gerador segue a convenção POSIX/vixie-cron, pois é isso que crontab e CronJob realmente executam
Macro de um rosto de relógio analógico com engrenagens na frente de um rack de servidor desfocado

Perguntas comuns

Este gerador de expressão cron é gratuito?
Sim. Executa inteiramente no seu navegador, sem conta, sem limite de taxa, e nenhum dado é enviado a lugar nenhum, exceto um beacon de visualização de página anônimo.
Em qual fuso horário os próximos horários de execução são mostrados?
UTC. A maioria dos crontabs, agendamentos GitHub Actions e recursos Kubernetes CronJob são padrão para UTC ou a hora do sistema do container, então isso evita um erro de conversão de fuso horário. Confirme o fuso horário do seu próprio sistema antes de confiar no minuto exato.
Por que dia-do-mês 1 e dia-da-semana segunda executa em ambos, não apenas quando se sobrepõem?
Porque é assim que o próprio cron se comporta. Implementações padrão de vixie-cron, incluindo crontab Linux e Kubernetes CronJob, avaliam esses dois campos com lógica OU uma vez que qualquer um está restrito longe de *. Esta ferramenta corresponde a esse comportamento propositalmente.
Suporta @daily, @reboot ou outras macros de atalho?
Não, apenas os cinco campos numéricos padrão, pois é isso que a maioria dos orquestradores requer mesmo assim. @daily mapeia para 0 0 * * *, @hourly para 0 * * * * e @weekly para 0 0 * * 0.
Meu agendamento é enviado a um servidor?
Não. Análise, a descrição em português, e o cálculo de próxima execução são executados no lado do cliente. Nada sobre os campos que você digita é transmitido ou armazenado.
O cálculo de próxima execução leva em conta o horário de verão?
Não, tudo é computado em UTC, que não tem horário de verão. Se o sistema que executa seu daemon cron usa hora local com horário de verão, verifique o deslocamento separadamente perto das datas de transição duas vezes ao ano.
Posso digitar nomes de mês ou dia da semana em vez de números?
Sim. jan até dez e dom até sab funcionam nos campos de mês e dia-da-semana ao lado dos intervalos numéricos 1-12 e 0-6, incluindo em intervalos e listas.

O cron job dispara. O que controla o deploy que ele ativa?

upstreamapi vincula rollouts de feature-flag a um orçamento de SLO, para que um deploy acionado por cron possa fazer auto-rollback antes do pager disparar, não depois.