0 * * * *Campos
| Minuto | 0 | 0 |
|---|---|---|
| Hora | * | qualquer |
| Dia do mês | * | qualquer |
| Mês | * | qualquer |
| Dia da semana | * | qualquer |
Onde usar
| crontab | 0 * * * * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 * * * *" (on.schedule) |
| Kubernetes CronJob | schedule: "0 * * * *" |
O crontab usa o fuso horário do servidor; o GitHub Actions sempre usa UTC.
Bom saber
0 * * * * roda no início de cada hora, o mesmo que @hourly. Um deslize comum é colocar o 0 no campo de hora: * 0 * * * roda a cada minuto de 00:00 a 00:59. Debian e Ubuntu também executam os scripts de /etc/cron.hourly no minuto 17 via run-parts, o que serve para tarefas que não se importam com o minuto exato. A cada 2 horas é 0 */2 * * *.
O minuto 0 é o momento mais movimentado para todo agendador, então, para tarefas que chamam serviços compartilhados, escolha outro minuto, como 23 * * * *. O GitHub Actions avisa que execuções no início da hora costumam atrasar ou até ser descartadas sob carga. Se uma execução puder passar de uma hora, envolva-a em flock -n e acrescente a saída a um log para que as falhas deixem rastro.