A Expressão 0 0 * * 1
A expressão cron 0 0 * * 1 dispara à meia-noite toda segunda-feira. Campos: minuto (0), hora (0), dia do mês (*), mês (*), dia da semana (1). Segunda é dia 1 no cron POSIX. Esta numeração pega desenvolvedores vindos de ISO 8601 ou linguagens de programação que numeram dias de forma diferente.
Numeração do Dia da Semana no Cron POSIX
O campo de dia da semana usa valores inteiros de 0 a 7:
| Número | Dia |
|---|---|
| 0 | Domingo |
| 1 | Segunda |
| 2 | Terça |
| 3 | Quarta |
| 4 | Quinta |
| 5 | Sexta |
| 6 | Sábado |
| 7 | Domingo (alias para 0) |
O Alias SEG
0 0 * * SEG # idêntico a 0 0 * * 1
Aliases de dia nomeados (SEG, TER, QUA, QUI, SEX, SAB, DOM) funcionam na maioria das implementações cron de produção:
0 0 * * SEG,QUA # Segunda e Quarta
0 0 * * SEG-SEX # Segunda a Sexta
0 9 * * SEG,QUI # 9 AM na Segunda e Quinta
Casos de Usó para Trabalhos Semanais na Segunda
Relatórios semanais
Gerar e distribuir métricas semanais, resumos de KPI ou digests operacionais toda segunda de manhã.
Automação de início de sprint
Para equipes em ciclos de sprint de duas semanas onde os sprints começam na segunda, um cron na segunda pode resetar contadores e gerar templates de planejamento.
Rotação de backup
Backups incrementais diários com backups completos semanais feitos na segunda.
Especificando um Horário Particular na Segunda
0 0 * * 1 # meia-noite segunda (início de segunda)
0 6 * * 1 # 6 AM segunda
0 9 * * 1 # 9 AM segunda
0 17 * * 1 # 5 PM segunda
30 23 * * 1 # 11:30 PM segunda
O Casó Extremo de União dom/dow
Se você especificar um valor não * tanto no dia do mês quanto no dia da semana, o cron dispara na união de ambas as restrições:
0 0 1 * 1 # dispara no dia 1 de cada mês E toda segunda
Issó não é “primeira segunda do mês.” Issó exigiria lógica de script.
Verificando o Agendamento
from croniter import croniter
from datetime import datetime
cron = croniter("0 0 * * 1", datetime.now())
for _ in range(5):
print(cron.get_next(datetime))