A sintaxe do cron é uma daquelas coisas que se aprende em dez minutos e se esquece por dez anos. Cinco campos, intervalos, passos, listas, a diferença entre */5 e 0,5,10,15,...,55 — e o ciclo de teste famoso por ser lento, escreve entrada, espera uma hora, vê se rodou. Perguntar pela intenção é mais rápido.
Cinco horários reais
A cada 5 minutos em horário comercial
$ clai linha cron: a cada 5 minutos das 9 às 17h em dias úteis→ */5 9-17 * * 1-5
Primeiro dia do mês
$ clai linha cron: 02:30 do primeiro dia de cada mês→ 30 2 1 * *
Toda segunda às 3 da manhã
$ clai linha cron: toda segunda às 03:00→ 0 3 * * 1
A cada 15 minutos, pulando 23:00–06:00
$ clai linha cron: a cada 15 minutos entre 06:00 e 22:59→ */15 6-22 * * *
A cada hora, só em dias úteis
$ clai linha cron: na hora cheia, de segunda a sexta→ 0 * * * 1-5
Conferindo o que você já tem
Antes de comitar uma agenda no crontab -e, liste o que já está lá:
$ clai mostre meu crontab atual→ crontab -l
Pequeno alerta
Agendas cron são interpretadas na zona do daemon cron, geralmente a zona do sistema. Se sua "toda segunda às 3 da manhã" precisa ser 3 da manhã horário de Londres num servidor UTC, deixe explícito no prompt — "toda segunda às 3 da manhã horário de Londres, expresso em UTC" — e você ganha 0 3 * * 1 ajustado (ou um CRON_TZ=Europe/London se o daemon suporta).
Veja também
- Limpar logs e backups antigos — lugar natural para uma entrada cron semanal.
- Do one-liner ao script — quando um job cron merece o próprio script.