0 * * * *Pola
| Minuta | 0 | 0 |
|---|---|---|
| Godzina | * | dowolna |
| Dzień miesiąca | * | dowolna |
| Miesiąc | * | dowolna |
| Dzień tygodnia | * | dowolna |
Gdzie go użyć
| crontab | 0 * * * * /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 * * * *" (on.schedule) |
| Kubernetes CronJob | schedule: "0 * * * *" |
crontab działa w strefie czasowej serwera; GitHub Actions zawsze używa UTC.
Warto wiedzieć
0 * * * * uruchamia się na początku każdej godziny, tak samo jak @hourly. Częsty błąd to wpisanie 0 w pole godziny: * 0 * * * uruchamia się co minutę od 00:00 do 00:59. Debian i Ubuntu uruchamiają też skrypty z /etc/cron.hourly w 17. minucie przez run-parts, co pasuje do zadań, którym nie zależy na dokładnej minucie. Co 2 godziny to 0 */2 * * *.
Minuta 0 to najbardziej obciążony moment dla każdego harmonogramu, więc dla zadań, które wywołują współdzielone usługi, wybierz inną minutę, np. 23 * * * *. GitHub Actions ostrzega, że pod obciążeniem uruchomienia na początku godziny często są opóźniane, a nawet pomijane. Jeśli przebieg może przekroczyć godzinę, opakuj go we flock -n i dopisuj wyjście do logu, żeby awarie zostawiały ślad.