Entenda campos de minuto, hora, dia, mês e semana e saiba por que implementações de cron podem ter diferenças de sintaxe e fuso horário.
Resumo: este guia explica o conceito, mostra como interpretar o resultado e aponta os limites da ferramenta antes de você aplicá-la em conteúdo real.
A estrutura clássica de cinco campos
Muitas implementações usam minuto, hora, dia do mês, mês e dia da semana. Uma expressão como 0 8 * * * representa execução às 08:00 em cada dia, no fuso configurado pelo sistema.
Asterisco significa qualquer valor
O caractere * seleciona todos os valores permitidos naquele campo. Vírgulas criam listas, hífens definem intervalos e barras costumam indicar passos.
Dia do mês e dia da semana merecem atenção
Implementações de cron podem tratar a relação entre esses campos de maneiras que surpreendem quem espera uma condição AND simples. Leia a documentação do agendador usado.
CRON não define sozinho o fuso
A execução segue o ambiente ou configuração do serviço. Uma expressão correta pode disparar em horário inesperado se o servidor estiver em UTC e você esperava horário local.
Existem dialetos diferentes
Cron tradicional, Quartz, GitHub Actions, serviços de nuvem e bibliotecas JavaScript podem usar seis ou sete campos e regras próprias. Gere a expressão para o sistema certo.
Exemplo prático
0 9 * * 1-5 costuma representar 09:00 de segunda a sexta em sintaxe tradicional de cinco campos. Se o servidor usa UTC, isso não significa automaticamente 09:00 no Brasil.
Erros comuns e como evitar
- copiar expressão de um dialeto para outro.
- ignorar fuso horário.
- confundir */5 com cinco execuções.
- não testar combinações entre dia do mês e dia da semana.
Revise a documentação do sistema de destino e valide o resultado antes de publicar ou automatizar uma rotina.
Leitura relacionada
Dúvidas frequentes
Toda expressão CRON tem cinco campos?
Não. Existem dialetos com campos extras, como segundos e ano.
CRON usa meu fuso local?
Depende do servidor ou serviço onde a tarefa roda.
*/10 significa dez vezes?
Normalmente significa um passo de 10 dentro do campo, como a cada 10 minutos quando usado no campo de minutos.
Fontes e referências
Documentação técnica e referências usadas para aprofundar este guia: