Unix Cron-Ausdruck-Ersteller

Visueller Cron-Ausdruck-Generator zum Konfigurieren geplanter Aufgaben. Unterstützt Minuten-, Stunden-, Tage-, Monate-, Wochen-Zeiteinheiten-Einstellungen, generiert automatisch standardmäßige Cron-Ausdrücke.

Cron-Ausdruck-Builder

Von Schritt
Jede Minute
Von Bis

Generiertes Ergebnis

Geben Sie einen vorhandenen Cron-Ausdruck ein, um die entsprechenden Formularoptionen automatisch zu setzen

Nächste Ausführungszeiten

Cron-Ausdrücke verstehen

Cron-Ausdruck-Format


I. Grundstruktur von Cron-Ausdrücken (mit autoritativen Quellen)

Ein standardmäßiger Cron-Ausdruck besteht aus 5 Zeitfeldern und 1 Befehlsfeld, entsprechend den Unix- und Linux-Systemkonventionen. Gemäß dem IEEE Std 1003.1-2017 (POSIX-Standard) und der Linux-man 5 crontab-Dokumentation, lautet das Format:

* * * * * auszuführender-befehl
│ │ │ │ │
│ │ │ │ └── Wochentag (0-7, sowohl 0 als auch 7 stehen für Sonntag)
│ │ │ └──── Monat (1-12)
│ │ └────── Tag des Monats (1-31)
│ └──────── Stunde (0-23)
└────────── Minute (0-59)

Autoritative Hinweise:

  1. Der POSIX-Standard definiert die Mindestkompatibilitätsspezifikation und erfordert Unterstützung für *, , und - Symbole.
  2. Linux-System-cron-Implementierungen (wie Cronie) erweitern die Funktionalität um Schrittwerte (/) und spezielle Zeichenketten (@daily usw.), wie in deren offizieller Dokumentation detailliert.

II. Symbolregeln für Zeitfelder

Jedes Zeitfeld unterstützt folgende Sonderzeichen:

Symbol Beschreibung Beispiel
* Entspricht einem beliebigen Wert * in Minuten = jede Minute
, Gibt mehrere Werte an 1,3,5 = Minuten 1, 3 und 5
- Definiert einen Bereich 10-15 = Minuten 10 bis 15
/ Schrittwerte (Intervall) */5 in Minuten = alle 5 Minuten
? "Kein bestimmter Wert" (nur für DOM/DOW) Zur Vermeidung von Konflikten verwendet

Moderne Cron-Implementierungen (wie Vixie cron und dessen Abkömmlinge) unterstützen reichere Syntaxregeln. Gemäß der IBM Cron-Referenzdokumentation und dem Cronie-Projekt-Wiki werden folgende Symbole weithin unterstützt:

Symbol Beschreibung Beispiel aus der offiziellen Dokumentation
L Letzter Tag (von einigen Implementierungen unterstützt) 0 0 L * * = Ausführung am letzten Tag eines jeden Monats
W Nächster Wochentag (z. B. 15W = nächster Wochentag zum 15.) Siehe Quartz Scheduler-Dokumentation (verbreitet im Java-Ökosystem)

III. Ursprung der vordefinierten Aliase (@daily usw.)

@daily, @weekly und ähnliche Aliase stammen aus Paul Vixies Cron-Implementierung (Vixie cron, veröffentlicht 1987), und sind nun Standardfunktionen in modernen Linux-Distributionen (wie Debian, Red Hat). Gemäß dem Debian-cron-Handbuch:

# Entspricht 0 0 * * *
@daily /pfad/zum/script

IV. Häufige Implementierungsunterschiede und Hinweise

Verschiedene Cron-Implementierungen weisen subtile Variationen auf, die jeweils in deren Dokumentation nachgeschlagen werden sollten:

Implementierung Funktionen Offizieller Ressourcenlink
Cronie Red Hats Standard-cron, unterstützt @-Kürzel Cronie GitHub
systemd Ersetzt cron durch .timer-Einheiten (für neue Systeme empfohlen) systemd.timer-Handbuch
fcron Unterstützt komplexere Syntax (z. B. @yearly) fcron-Website

V. Empfohlene Validierungswerkzeuge und autoritative Referenzen

  1. Crontab-Handbuchseite Führen Sie man 5 crontab im Terminal für die vollständige Syntax aus - die direkteste lokale autoritative Referenz.

  2. Cron-Ausdruck-Generatoren

  3. Open-Source-Projektdokumentation


VI. Zusammenfassung

Durch die Kombination von POSIX-Standards, Linux-Handbuchseiten und Dokumentationen der wichtigsten Implementierungen (wie Cronie) können Benutzer die Kernlogik von Cron-Ausdrücken präzise verstehen. Für die erweiterte Verwendung (wie L und W) sind Implementierungskompatibilität und offizielle Ressourcen zu beachten.


Referenzen

[1] POSIX-Standard: Cron-Definition
[2] Linux-man 5 crontab-Handbuchseite
[3] Cronie offizielle Dokumentation: GitHub-Wiki
[4] IBM Cron-Referenz: Cron-Format-Erklärung
[5] Quartz Cron-Syntax: Quartz Scheduler-Docs
[6] Vixie cron Geschichte: Vixie cron-Wiki
[7] Debian cron-Handbuch: Debian CronHowto
[8] systemd.timer-Handbuch: systemd offizielle Dokumentation
[9] Ubuntu Cron-Leitfaden: Ubuntu Cron-Community-Dokumentation

Häufig gestellte Fragen (FAQ)

Was ist ein Cron-Ausdruck?

Ein Cron-Ausdruck ist eine Zeichenkette aus 5 oder 7 durch Leerzeichen getrennten Feldern, die einen Zeitplan in Unix-ähnlichen Betriebssystemen darstellt. Damit können Sie Aufgaben (wie Backups oder Skripte) automatisch zu bestimmten Zeiten oder Intervallen ausführen lassen.

Was ist der Unterschied zwischen Standard- und Erweitertem Modus?

Der Standardmodus verwendet 5 Felder (Minute, Stunde, Tag des Monats, Monat, Wochentag) und ist das von Linux/Unix-cronjobs verwendete Standardformat. Der erweiterte Modus verwendet 7 Felder und fügt am Anfang Sekunden und am Ende Jahre hinzu. Dies wird oft von modernen Anwendungsplanern wie Quartz (Java) oder Spring verwendet.

Was bedeutet das Symbol '?' in Cron?

Das Symbol '?' bedeutet 'kein bestimmter Wert'. Es wird nur in den Feldern 'Tag des Monats' und 'Wochentag' verwendet. Es ist nützlich, wenn Sie in einem dieser beiden Felder etwas angeben möchten, sich aber nicht um das andere kümmern. Wenn Sie beispielsweise möchten, dass eine Aufgabe am 10. eines Monats ausgeführt wird, unabhängig davon, welcher Wochentag das ist, setzen Sie '10' in das Feld Tag des Monats und '?' in das Feld Wochentag.

Kann ich einen Cron-Ausdruck aus einem vorhandenen erzeugen?

Ja! Sie können die Funktion 'Umgekehrtes Parsen' verwenden. Fügen Sie einfach Ihren vorhandenen Cron-Ausdruck in das Eingabefeld ein und klicken Sie auf 'Ausdruck parsen'. Der visuelle Builder wird automatisch aktualisiert, um die Einstellungen Ihres Ausdrucks widerzuspiegeln.