Lição 2

Campos e sintaxe

Curingas, listas, intervalos e passos no cron de cinco campos.

Ler cron é ler cinco inteiros restritos (ou curingas) da esquerda para a direita.

Ordem e limites dos campos

CampoValores permitidos (Unix típico)
Minuto0–59
Hora0–23
Dia do mês1–31
Mês1–12 (ou nomes em alguns parsers)
Dia da semana0–7 (0 e 7 costumam ser domingo)

Mnemônico: minuto antes da hora, depois dia do mês antes do mês, depois dia da semana.

Alguns sistemas acrescentam campo de segundos ou ano — este curso foca na linha comum de cinco campos, salvo nota em contrário.

Curinga *

* em um campo significa “todo valor permitido”.

  • * * * * * — todo minuto (muito agressivo; raramente o que você quer em produção)
  • 0 * * * * — no minuto 0 de cada hora (de hora em hora em ponto)

Listas e intervalos

  • Lista: 0,15,30,45 no campo minuto — quatro vezes por hora
  • Intervalo: 1-5 no dia da semana — segunda a sexta (veja notas da plataforma para início 0 vs 1)
  • Combinado: 9-17 na hora — janela de horário comercial a cada minuto correspondente

Sintaxe de passo /

*/5 no campo minuto significa “a cada 5 minutos a partir de 0”: 0, 5, 10, …

30-59/10 significa 30, 40, 50 no campo minuto.

O passo se aplica ao átomo antes de /. Passos mal posicionados são erro comum de parse.

Dia do mês vs dia da semana

Quando ambos dia do mês e dia da semana estão restritos (não *), o cron Unix em geral trata como OR, não AND:

  • 0 0 1 * 1 — meia-noite no dia 1 ou meia-noite nas segundas (qualquer um dispara)

Se você precisa de “primeira segunda do mês”, cron sozinho é incômodo — use script wrapper ou scheduler mais rico.

Combinações inválidas

31 de fevereiro e minuto 60 são inválidos. Bons parsers rejeitam cedo; ferramentas silenciosas podem gerar listas vazias de próxima execução.

Resumo

Monte expressões campo a campo: fixe minuto e hora primeiro, depois decida se filtros de dia vão no DOM, DOW ou ambos — sabendo a semântica OR. Teste com um parser antes de commitar no crontab de produção.

Voltar à visão geral do curso