Cron-Ausdruck erstellen, bevor der Job produktiv läuft
Ein Cron-Ausdruck beschreibt die Ausführungszeiten eines wiederkehrenden Jobs. In der crontab eines Linux-Benutzers stehen fünf Zeitfelder vor dem eigentlichen Befehl. Ein korrektes Zeitmuster sagt daher noch nichts darüber aus, ob das Skript ausführbar ist oder die benötigten Rechte besitzt.
Der Generator eignet sich für Wartungsskripte, Datensynchronisation und regelmäßige Sicherungen. Wählen Sie einen Zeitplan, kontrollieren Sie die Feldwerte und vergleichen Sie die nächsten Termine. So fallen Verwechslungen zwischen Stunden, Monatstagen und Wochentagen vor dem Einsatz auf.
Vom gewünschten Intervall zur fertigen Zeile
- Eine Vorlage auswählen oder jedes Zeitfeld einzeln festlegen.
- Für mehrere Werte einen Bereich oder eine Liste verwenden.
- Vorhandene Ausdrücke ohne den angehängten Befehl in den Editor einsetzen.
- Die UTC-Termine mit der Serverzeitzone abgleichen und den Ausdruck kopieren.
Die fünf Cron-Felder und ihre Syntax
Die Reihenfolge lautet Minute, Stunde, Tag des Monats, Monat, Wochentag. Leerzeichen trennen die Felder. Sonntag ist 0 oder 7. Als Namen sind JAN–DEC und SUN–SAT zulässig; deutsche Monatsnamen gehören nicht in den Ausdruck.
| Feld | Wertebereich |
|---|---|
| Minute | 0–59 |
| Stunde | 0–23 |
| Tag im Monat | 1–31 |
| Monat | 1–12 |
| Wochentag | 0–7 |
- * wählt alle Werte des Feldes.
- , verbindet einzelne Werte, etwa 0,30.
- - bildet einen Bereich einschließlich der Grenzen, etwa 1-5.
- / gibt eine Schrittweite im Feld an, etwa
*/15.
Cron-Beispiele: alle fünf Minuten, täglich oder monatlich
Ein Intervall gilt innerhalb des jeweiligen Feldes. */5 im Minutenfeld bedeutet Minute 0, 5, 10 und so weiter – nicht fünf Minuten nach dem Speichern. Die Uhrzeiten unten gelten in der Zeitzone des Schedulers.
| Cron-Ausdruck | Zeitplan |
|---|---|
*/5 * * * * | Alle fünf Minuten |
30 2 * * * | Täglich um 02:30 Uhr |
0 8 * * 1-5 | Montag bis Freitag um 08:00 Uhr |
0 0 * * 0 | Sonntags um Mitternacht |
0 0 1 * * | Am ersten Tag jedes Monats |
0 0 29 2 * | Am 29. Februar in Schaltjahren |
Cronjob unter Linux einrichten
Mit crontab -e bearbeiten Sie die Aufgaben des aktuellen Benutzers. Die folgende Zeile startet täglich um 02:30 Uhr ein Backup-Skript. Die Uhrzeit bezieht sich auf die Konfiguration des Cron-Dienstes.
Verwenden Sie möglichst absolute Pfade und prüfen Sie Ausführungsrechte, Umgebungsvariablen und den laufenden Cron-Dienst. Der Generator legt auf Ihrem Server keine Aufgaben an.
30 2 * * * /usr/local/bin/backup.shFragen zu Cronjobs und Zeitangaben
Beachtet die Vorschau die deutsche Sommerzeit?
Nein, sie rechnet ausschließlich in UTC. Cron-Ausdrücke enthalten keine Zeitzone. Bei einem Scheduler mit lokaler Zeitzone können Sommerzeitwechsel die tatsächliche Ausführung beeinflussen. Prüfen Sie deshalb dessen Konfiguration.
Bedeutet Montag bis Freitag automatisch Werktage ohne Feiertage?
Nein. 1-5 bezeichnet ausschließlich Montag bis Freitag. Feiertage werden nicht erkannt und müssen bei Bedarf separat im ausgeführten Programm berücksichtigt werden.
Wie werden Monatstag und Wochentag kombiniert?
Sind beide Felder eingeschränkt, reicht eines: 0 9 1 * MON läuft am Monatsersten oder montags um 09:00 Uhr. Beginnt eines der Felder mit *, auch bei */2, müssen beide Tagesbedingungen erfüllt sein.
Sind sechs Felder und Quartz erlaubt?
Dieses Werkzeug unterstützt fünf Linux-Cron-Felder. Sekunden, ?, L, W, # und @reboot sind nicht verfügbar. @hourly, @daily, @weekly, @monthly und @yearly werden in fünf Felder umgewandelt.
Warum fehlen Termine trotz gültiger Syntax?
Nicht jede Kombination ergibt ein Datum: Einen 31. Februar gibt es nicht. Die Suche reicht acht Jahre voraus; seltene Termine wie der Schalttag können daher weniger als fünf Treffer liefern.
