0 0 * * 0Campos
| Minuto | 0 | 0 |
|---|---|---|
| Hora | 0 | 0 |
| Dia do mês | * | qualquer |
| Mês | * | qualquer |
| Dia da semana | 0 | 0 |
Onde usar
| crontab | 0 0 * * 0 /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 0 * * 0" (on.schedule) |
| Kubernetes CronJob | schedule: "0 0 * * 0" |
O crontab usa o fuso horário do servidor; o GitHub Actions sempre usa UTC.
Bom saber
0 0 * * 0 roda à meia-noite do início do domingo, logo depois que o sábado termina. Se você queria domingo à noite, o fim da semana, use 0 23 * * 0, ou 0 0 * * 1 para segunda-feira às 00:00. Tanto 0 quanto 7 significam domingo no Vixie cron e no cronie, e @weekly equivale a 0 0 * * 0. Agendadores baseados em Quartz numeram os dias de 1 a 7, com domingo como 1, então confira antes de copiar.
Tarefas semanais falham em silêncio: se o servidor estava fora do ar à meia-noite de domingo, o cron não recupera a execução e você espera mais uma semana, enquanto o anacron ou um timer do systemd com Persistent=true roda as tarefas perdidas depois do boot. A manutenção semanal muitas vezes demora, então use flock -n, registre a saída e adicione um monitor de heartbeat. Para domingos alternados, verifique o número da semana com date +\%V dentro do comando.