Às 00:00, no dia 1 do mês

0 0 1 * *

Campos

Minuto00
Hora00
Dia do mês11
Mês*qualquer
Dia da semana*qualquer

Onde usar

crontab0 0 1 * * /path/to/script.sh
GitHub Actions- cron: "0 0 1 * *" (on.schedule)
Kubernetes CronJobschedule: "0 0 1 * *"

O crontab usa o fuso horário do servidor; o GitHub Actions sempre usa UTC.

Bom saber

0 0 1 * * roda à meia-noite do dia 1º de cada mês, o mesmo que @monthly. Cobranças, faturas e relatórios mensais costumam ficar aqui, então decida qual fuso horário define “o dia 1º”: em um servidor em UTC, ainda é o último dia do mês anterior nas Américas. Um relatório do mês passado deve calcular o intervalo de datas a partir da data de execução, nunca supor 30 ou 31 dias.

O Vixie cron e o cronie não têm sintaxe para o último dia do mês; rode em 0 0 28-31 * * e teste dentro do comando, por exemplo test $(date -d tomorrow +\%d) = 01 && /path/to/script.sh. O Quartz e alguns agendadores em nuvem suportam L para isso. Cuidado com a regra do OU: 0 0 1 * 1 roda no dia 1º e em toda segunda-feira, não nas segundas que caem no dia 1º.

Abrir Gerador e explicador de expressões cron