0 0 1 1 *Campos
| Minuto | 0 | 0 |
|---|---|---|
| Hora | 0 | 0 |
| Dia do mês | 1 | 1 |
| Mês | 1 | 1 |
| Dia da semana | * | qualquer |
Onde usar
| crontab | 0 0 1 1 * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 0 1 1 *" (on.schedule) |
| Kubernetes CronJob | schedule: "0 0 1 1 *" |
O crontab usa o fuso horário do servidor; o GitHub Actions sempre usa UTC.
Bom saber
0 0 1 1 * roda uma vez por ano, à meia-noite de 1º de janeiro, o mesmo que @yearly e @annually. Tarefas tão raras são difíceis de testar e fáceis de esquecer: até o próximo janeiro, o script, suas credenciais ou o próprio servidor podem ter mudado. Rode-a manualmente uma vez depois de instalar e adicione um monitoramento que alerte se nenhuma execução bem-sucedida for registrada em um ano e um dia.
O horário do servidor pode não coincidir com o ano do negócio: em um servidor em UTC, ele dispara às 01:00 na Europa Central e às 19:00 de 31 de dezembro em Nova York. Se a máquina estiver desligada nesse momento, o cron não recupera a execução, enquanto o anacron ou um timer do systemd com Persistent=true recupera. Para execuções trimestrais, use 0 0 1 1,4,7,10 * ou o equivalente 0 0 1 */3 *.