Keine Werbung mögen? Gehen Werbefrei Heute

Stoppen Sie das Suchen nach Cron-Syntax – Dafür gibt es einen Generator

Aktualisiert am

Cron-Ausdrücke sind eine der Dinge, die Sie ständig verwenden, aber nie genau behalten. Hier ist, was die fünf Felder tatsächlich bedeuten, die Fehler, die Menschen treffen, und warum ein Online-Cron-Ausdruck-Generator die intelligente Lösung ist.

Stoppen Sie das Googlen von Cron-Syntax – Es gibt einen Generator dafür 1
ANZEIGE Entfernen?

Es ist 2 Uhr. Eine Bereitstellung ist für 6 Uhr geplant. Sie müssen noch einmal überprüfen, ob die Cron-Aufgabe tatsächlich zur richtigen Zeit ausgelöst wird. Dazu öffnen Sie eine neue Tab und geben Sie „cron syntax“ in Google ein. Wiederholen Sie das.

Dies ist eine Übergangsphase. Jeder Entwickler, der je einen Linux-Server berührt hat, hat das mindestens einmal getan – und die meisten von uns haben es mehrfach getan, als sie zugeben wollen. Cron-Ausdrücke sind eine dieser Dinge, die Sie ständig verwenden, aber nie richtig behalten. Die Syntax befindet sich in einem unangenehmen Bereich zwischen „zu einfach, um nachzuschlagen“ und „genau spezifiziert genug, um falsch zu interpretieren“.

Es gibt eine bessere Möglichkeit. Verwenden Sie ein online Cron-Ausdruck-Generator und lassen Sie das Tool die Syntax verwalten, während Sie sich auf das Wichtige konzentrieren.

Warum Cron-Syntax nicht hält

Cron hat fünf Felder. Fünf. Das ist alles. Und dennoch verursacht die Reihenfolge jedes Mal Probleme:

# ┌───────────── minute (0–59)
# │ ┌───────────── hour (0–23)
# │ │ ┌───────────── day of month (1–31)
# │ │ │ ┌───────────── month (1–12)
# │ │ │ │ ┌───────────── day of week (0–6, Sunday=0)
# │ │ │ │ │
  * * * * * command

Das Problem ist nicht, dass es schwer ist – es ist, dass es gerade genug Sonderzeichen gibt, um Unsicherheit einzuführen. Ist */5 „jede 5. Minute“ oder „bei Minute 5“? Funktioniert 0 9 * * 1-5 um 9 Uhr morgens oder abends? Was passiert, wenn man vergisst, dass Monate 1-basiert sind, aber Wochentage bei 0 beginnen?

Das sind keine Fallen für Anfänger. Sie sind für alle. Eine falsch konfigurierte Cron-Aufgabe ist eine ruhige Art, einen Produktionsausfall einzuführen – jenen, bei denen nichts sofort abstürzt, sondern einfach nicht ausgeführt wird, und man bemerkt es erst drei Tage später.

Die fünf Felder, erklärt ohne Zeremonie

Hier ist die praktische Version:

  • Minute (0–59) – Die Minute der Stunde, bei der die Aufgabe ausgeführt wird. 30 bedeutet die 30. Minute. */15 bedeutet jede 15. Minute.
  • Stunde (0–23) – Verwendet 24-Stunden-Zeit. 9 bedeutet 9 Uhr morgens. 17 bedeutet 17 Uhr. Keine AM/PM-Logik.
  • Tag im Monat (1–31) – Welcher kalendärische Tag. 1 bedeutet den ersten Tag des Monats. 15 bedeutet den 15. Tag.
  • Monat (1–12) – Januar ist 1, Dezember ist 12. Sie können auch Namen verwenden: JAN, FEB, usw.
  • Tag der Woche (0–6 oder 1–7) – Sonntag kann 0 oder 7 sein, je nach Cron-Implementierung. Montag ist immer 1. Dieses Feld verursacht die meisten Verwirrungen.

Die Sonderzeichen, die wichtig sind

  • * – Jeder mögliche Wert (jede Minute, jede Stunde usw.)
  • */n – Jede n. Intervall. */5 in der Minute-Feld bedeutet jede 5. Minute.
  • a-b – Ein Bereich. 1-5 in der Wochentags-Feld bedeutet Montag bis Freitag.
  • a,b,c – Eine Liste. 1,3,5 bedeutet Montag, Mittwoch, Freitag.
  • @reboot, @hourly, @daily – Kurzform-Alias. Nicht in allen Umgebungen unterstützt.

Gängige Fehler, die Menschen treffen

1. Vergessen der Zeitzone

Cron läuft in der lokalen Zeitzone des Servers. Wenn Ihr Server in UTC ist und Sie in New York sind, 0 9 * * * läuft nicht um 9 Uhr Eastern – es läuft um 4 oder 5 Uhr, abhängig von der Sommerzeit. Kenntnis der Serverzeitzone ist immer erforderlich. Immer.

2. Verwenden von Tag-im-Monat und Tag-der-Woche

Wenn Sie einen Wert in beiden Feldern – Tag-im-Monat und Tag-der-Woche – angeben (anstatt * in einem davon), behandeln die meisten Cron-Implementierungen es als OR – die Aufgabe läuft, wenn eine der Bedingungen erfüllt ist. Das ist fast nie das, was Sie wollen.

3. Erwartung, dass */1 „einmal“ bedeutet

*/1 ist gleich *. Es bedeutet „jede“. Es gibt keine Möglichkeit, „einmal“ auszudrücken, in Standard-Cron – dafür müssten Sie at oder einen einzeiligen systemd-Timer verwenden.

4. Keine Tests vor der Bereitstellung

Cron gibt Ihnen keine sofortige Rückmeldung. Sie schreiben den Ausdruck, speichern die Crontab und warten dann. Wenn er falsch ist, bemerken Sie es um 3 Uhr morgens, wenn die geplante Sicherung nicht läuft. Deshalb lohnt es sich, vor der Bereitstellung einen nächste Ausführungszeitrechner für Cron zu verwenden – es dauert nur 30 Sekunden.

Verwenden Sie einen Cron-Ausdruck-Generator anstatt zu schreiben

Die ehrliche Empfehlung: Beenden Sie das Versuch, Cron-Ausdrücke aus dem Gedächtnis zu schreiben. Verwenden Sie einen Generator. Es ist kein Zeichen der Schwäche – es ist die Art und Weise, um dumme Fehler in der Produktion zu vermeiden.

Der Cron-Ausdruck-Generator auf IOTools erlaubt es Ihnen, beliebige Ausdrücke visuell zu erstellen – wählen Sie Ihre Minute, Stunde, Tag der Woche und sehen Sie den genauen Ausdruck sowie eine einfache Erklärung, wann er ausgeführt wird. Keine Erinnerung erforderlich, keine Dokumentationstabs offen.

Sobald Sie einen Ausdruck haben, führen Sie ihn durch den nächste Ausführungszeitrechner für Cron. Fügen Sie den Ausdruck ein, erhalten Sie die nächsten 5 bis 10 geplanten Ausführungszeiten zurück. Es dauert fünf Sekunden und zeigt Ihnen sofort, ob Sie Ihre Reinigungs-Aufgabe versehentlich auf jede Minute eingestellt haben, anstatt einmal pro Tag.

Diese zweite Prüfung wird von den meisten Menschen übersprungen. Überspringen Sie sie nicht.

Schnelle Referenz: Ausdrücke, die Sie tatsächlich verwenden werden

AusdruckBedeutung
* * * * *Jede Minute
0 * * * *Jede Stunde, um die Uhr
0 9 * * *Jeden Tag um 9:00 Uhr
0 9 * * 1-5Wochentage um 9:00 Uhr
*/15 * * * *Alle 15 Minuten
0 0 * * 0Jeden Sonntag um Mitternacht
0 0 1 * *Erster Tag jedes Monats um Mitternacht
30 4 1,15 * *1. und 15. des Monats um 4:30 Uhr
0 22 * * 1-5Wochentage um 22:00 Uhr
@dailyEinmal pro Tag um Mitternacht (Kurzform)
Möchten Sie werbefrei genießen? Werde noch heute werbefrei

Erweiterungen installieren

IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche

Zu Chrome-Erweiterung Zu Kantenerweiterung Zu Firefox-Erweiterung Zu Opera-Erweiterung

Die Anzeigetafel ist eingetroffen!

Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!

ANZEIGE Entfernen?
ANZEIGE Entfernen?
ANZEIGE Entfernen?

Nachrichtenecke mit technischen Highlights

Beteiligen Sie sich

Helfen Sie uns, weiterhin wertvolle kostenlose Tools bereitzustellen

Kauf mir einen Kaffee
ANZEIGE Entfernen?