0 9 * * 1-5Felder
| Minute | 0 | 0 |
|---|---|---|
| Stunde | 9 | 9 |
| Tag des Monats | * | beliebig |
| Monat | * | beliebig |
| Wochentag | 1-5 | 1, 2, 3, 4, 5 |
Wo du ihn verwendest
| 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 läuft in der Zeitzone des Servers; GitHub Actions verwendet immer UTC.
Gut zu wissen
0 9 * * 1-5 läuft um 09:00 von Montag bis Freitag; die meisten Crons akzeptieren auch MON-FRI. Die große Falle ist die Zeitzone: Ein 9-Uhr-Bericht auf einem UTC-Server kommt in Mitteleuropa je nach Sommerzeit um 10:00 oder 11:00 an, und GitHub Actions nutzt immer UTC. Leg die Ortszeit mit CRON_TZ=Europe/Warsaw in cronie fest oder mit spec.timeZone in einem Kubernetes-CronJob.
Cron weiß nichts von Feiertagen, also prüfe im Skript eine Feiertagsliste und brich früh ab. Kombiniere nicht Tag des Monats mit Wochentag, um „erster Werktag des Monats“ auszudrücken: Wenn beide Felder eingeschränkt sind, läuft cron, sobald eines passt, also feuert 0 9 1 * 1-5 am 1. und an jedem Werktag. Für 9:00 und 17:00 an Werktagen schreibst du 0 9,17 * * 1-5.