tomai
Entrar

Referência Cron: os cinco campos, caracteres especiais e armadilhas

Cron corre comandos segundo um horário descrito em cinco campos — minuto, hora, dia do mês, mês e dia da semana — seguidos do próprio comando. Uma linha como 30 9 * * 1 significa nove e meia cada segunda-feira de manhã, e quase todo o sistema Unix mais inúmeros agendadores falam este dialeto.

1. Campos e valores permitidos

Os minutos vão de 0 a 59, as horas de 0 a 23, os dias do mês de 1 a 31, os meses de 1 a 12 e os dias da semana de 0 a 7, onde 0 como 7 significam domingo. Uma estrela significa cada valor nessa posição, por isso 0 * * * * dispara ao início de cada hora.

2. Passos, intervalos e listas

Uma barra define um passo — */15 no campo minuto significa de quinze em quinze minutos — um hífen define um intervalo como dia da semana 1-5 para segunda a sexta, e as vírgulas juntam listas como 0,30. Combinam-se livremente, por isso 0 9-17 * * 1-5 lê-se como uma vez por hora durante o dia de trabalho, só em dias úteis.

3. A peculiaridade OU dos campos de dia

Quando os campos dia do mês e dia da semana estão ambos restritos, cron dispara quando qualquer um coincide — não ambos. Uma linha pensada para a primeira segunda-feira do mês precisa de cuidado extra, porque restringir ambos os campos alarga o horário em vez de o estreitar. Deixa um dos dois em estrela e o outro mantém sozinho o controlo.

4. Presets e armadilhas de ambiente

Atalhos como daily ou weekly expandem-se para padrões de campos, mas a forma clássica de cinco campos viaja melhor entre sistemas. Lembra-te de que cron corre com um ambiente mínimo: caminhos, locales e peculiaridades da shell do teu terminal não te acompanham, por isso usa sempre caminhos absolutos e testa o comando à mão primeiro. Constrói expressões visualmente e pré-visualiza as próximas execuções com o nosso gerador cron, que calcula as próximas datas diretamente no teu navegador.