·4 Min. Lesezeit

Cron-Ausdruck-Helfer für Mac

Einen Zeitplan-Ausdruck von Hand zu schreiben und zu hoffen, dass er das bedeutet, was du denkst, ist der Grund, warum Jobs um 3 Uhr nachts statt um 15 Uhr laufen.

Cron-Syntax besteht aus fünf Feldern mit Zahlen und Symbolen, die irgendwie „jeden Werktag um 9 Uhr außer an Feiertagen" oder „alle 15 Minuten zwischen 8 und 18 Uhr" ausdrücken müssen. Die Felder sind Minute, Stunde, Tag des Monats, Monat und Wochentag — in einer Reihenfolge, die sich niemand beim ersten Versuch richtig merkt, und Sternchen, Kommas, Bindestriche und Schrägstriche bedeuten je nach Position unterschiedliche Dinge.

0 9 * * 1-5 sieht vernünftig aus, aber ist das 9 Uhr morgens oder 21 Uhr, und bedeutet 1-5 Montag bis Freitag oder etwas ganz anderes, je nachdem ob die Cron-Implementierung Sonntag als 0 oder 7 zählt? Das in einer Deployment-Pipeline, einem Backup-Job oder einem geplanten Report falsch zu haben bedeutet entweder stille Fehler oder einen Job, der zu einer ungünstigen Stunde feuert — manchmal wochenlang, bevor es jemand bemerkt.

Jede Cron-Implementierung hat ihre eigenen Eigenheiten

Standard-Unix-Cron, Kubernetes-CronJobs, AWS EventBridge und verschiedene CI-Plattformen verwenden alle grob die gleiche Fünf-Felder-Syntax, unterscheiden sich aber in kleinen Details — ob Sekunden unterstützt werden, wie die Wochentags-Nummerierung funktioniert, ob bestimmte Kurzschreibweisen wie @daily gültig sind. Einen Zeitplan zu schreiben, der beim ersten Deploy korrekt funktioniert, bedeutet, genau zu verstehen, welche Cron-Variante du verwendest.

Ausdrücke in Klartext übersetzen

Bellows enthält einen Cron-Ausdruck-Helfer, der einen Zeitplan-String nimmt und in verständlicher Sprache erklärt, was er tatsächlich bedeutet, sodass du deine Absicht überprüfen kannst, bevor du einen geplanten Job irgendwo deployst.

Bellows Cron-Ausdruck-Helfer erklärt einen Zeitplan-String auf macOS

Vor dem Deploy verifizieren

Ein geplanter Job, der zur falschen Zeit feuert, ist oft ein stiller Fehler — nichts stürzt ab, er läuft einfach, wenn du es nicht beabsichtigt hast, überlappt manchmal mit einem Wartungsfenster oder belastet die Datenbank während Spitzenverkehr. Die Klartext-Bedeutung eines Cron-Strings vor dem Mergen einer Deployment-Config zu prüfen, fängt das ab, bevor es um 2 Uhr morgens zum Pager-Alarm wird.

Den Zeitplan eines anderen lesen

Eine Codebasis mit einem Dutzend bestehender Cron-Jobs zu übernehmen bedeutet, herauszufinden, was jeder einzelne tut, bevor du irgendeinen davon sicher ändern kannst. Jeden Ausdruck schnell zu übersetzen ist schneller als fünf kryptische Felder pro Job im Kopf zu parsen.

Bellows im Mac App Store laden

Nächster Artikel

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store