0 9 * * 1-5Pola
| Minuta | 0 | 0 |
|---|---|---|
| Godzina | 9 | 9 |
| Dzień miesiąca | * | dowolna |
| Miesiąc | * | dowolna |
| Dzień tygodnia | 1-5 | 1, 2, 3, 4, 5 |
Gdzie go użyć
| crontab | 0 9 * * 1-5 /path/to/script.sh |
|---|---|
| GitHub Actions | - cron: "0 9 * * 1-5" (on.schedule) |
| Kubernetes CronJob | schedule: "0 9 * * 1-5" |
crontab działa w strefie czasowej serwera; GitHub Actions zawsze używa UTC.
Warto wiedzieć
0 9 * * 1-5 uruchamia się o 09:00 od poniedziałku do piątku; większość implementacji crona akceptuje też MON-FRI. Największą pułapką jest strefa czasowa: raport na 9:00 z serwera w UTC przychodzi w Europie Środkowej o 10:00 lub 11:00, zależnie od czasu letniego, a GitHub Actions zawsze używa UTC. Ustaw czas lokalny na sztywno przez CRON_TZ=Europe/Warsaw w cronie albo spec.timeZone w Kubernetes CronJob.
Cron nic nie wie o świętach, więc sprawdzaj listę dni wolnych w skrypcie i w razie potrzeby kończ go wcześniej. Nie łącz dnia miesiąca z dniem tygodnia, żeby uzyskać „pierwszy dzień roboczy miesiąca”: gdy oba pola są ograniczone, cron uruchamia zadanie, jeśli pasuje którekolwiek z nich, więc 0 9 1 * 1-5 uruchamia się 1. dnia miesiąca i w każdy dzień roboczy. Dla 9:00 i 17:00 w dni robocze napisz 0 9,17 * * 1-5.