
Cron-Job
Ein Cron-Job ist eine Aufgabe, die ein Computer automatisch zu festgelegten Zeiten ausführt, zum Beispiel jede Nacht um drei Uhr. Der Name stammt vom Programm „cron", das auf Servern seit Jahrzehnten solche Zeitpläne verwaltet.
Ein Cron-Job ist ein Auftrag an einen Computer, der sich immer wieder von selbst wiederholt. Man legt einmal fest: Führe diesen Befehl jeden Tag um 3:00 Uhr aus. Danach kümmert sich der Computer allein darum, ohne dass jemand einen Knopf drückt. Der Name kommt vom Programm « cron », das auf vielen Servern im Hintergrund läuft und die Uhr im Blick hat. Ein Server ist dabei einfach ein Computer, der ständig eingeschaltet ist und Dienste für andere bereitstellt. Man kann sich einen Cron-Job wie einen sehr zuverlässigen Wecker vorstellen, der nicht klingelt, sondern selbst eine Arbeit erledigt.
Warum niemand nachts Knöpfe drücken will
Viele Arbeiten am Computer sind langweilig, aber wichtig. Daten müssen gesichert werden. Rechnungen müssen verschickt werden. Alte Dateien müssen gelöscht werden, damit die Festplatte nicht volläuft. Solche Aufgaben sind genau die, die Menschen vergessen oder aufschieben.
Genau hier liegt der Wert einer festen Zeitplanung. Eine Maschine vergisst nichts, sie ist am Wochenende da und sie beschwert sich nicht über die Uhrzeit. Ausgerechnet um drei Uhr nachts ist auf vielen Systemen sehr wenig zu tun. Rechenintensive Arbeiten stören dort niemanden, weil kaum Nutzer online sind.
Für Firmen ist das auch eine Kostenfrage. Wer jede Nacht automatisch eine Sicherung anlegt, verliert bei einem Festplattendefekt höchstens einen Tag Arbeit. Ohne Automatik hängt dieselbe Sicherheit an der Disziplin einzelner Personen. Deshalb gilt: Was regelmäßig passieren muss, sollte nicht von Menschen erinnert werden.
Fünf Sternchen für den Zeitplan
Die Zeitpläne stehen in einer Textdatei, der sogenannten Crontab. Jede Zeile beschreibt einen Job. Zuerst kommen fünf Zeitangaben, danach der Befehl, der ausgeführt werden soll. Die fünf Angaben bedeuten der Reihe nach: Minute, Stunde, Tag des Monats, Monat, Wochentag.
Ein Sternchen steht dabei für « jeder Wert ». Die Zeile « 0 3 * * * » heißt also: Minute 0, Stunde 3, an jedem Tag, in jedem Monat, an jedem Wochentag. Das ist der klassische Drei-Uhr-nachts-Job. Schreibt man « */15 * * * * », läuft der Befehl alle 15 Minuten. Diese Schreibweise sieht kryptisch aus, ist aber schnell gelernt und seit den 1970er Jahren fast unverändert.
Ein häufiger Irrtum: Ein Cron-Job prüft nicht, ob der vorherige Durchlauf fertig ist. Startet ein Job jede Minute, braucht aber zwei Minuten, laufen irgendwann viele Kopien gleichzeitig. Auch die Zeitzone ist eine typische Fehlerquelle, etwa bei der Umstellung auf Sommerzeit. Und wenn der Server ausgeschaltet ist, wird der Termin einfach übersprungen. Für Aufgaben, die auf jeden Fall nachgeholt werden müssen, braucht man deshalb aufwendigere Werkzeuge.
Von der Newsletter-Mail bis zum Börsenkurs
Cron-Jobs sind unsichtbar, aber überall. Der Newsletter, der jeden Freitagmorgen im Postfach liegt, wird sehr wahrscheinlich von einem solchen Zeitplan ausgelöst. Auch Kursdaten auf Finanzseiten werden oft in festen Abständen abgerufen und neu berechnet. Wetterdienste, Preisvergleiche und Suchmaschinen arbeiten nach demselben Prinzip.
Bei KI-Anwendungen kommen weitere Fälle dazu. Ein Unternehmen lässt zum Beispiel jede Nacht neue Dokumente durch ein Modell laufen, um sie durchsuchbar zu machen. Solche Sammel-Verarbeitungen nennt man Batch-Verarbeitung, im Gegensatz zur sofortigen Antwort auf eine einzelne Anfrage. Batch-Läufe sind meist deutlich günstiger, weil man die Rechenleistung besser ausnutzen kann.
In den großen Cloud-Diensten heißt die Sache oft anders, funktioniert aber gleich. Bei Kubernetes spricht man von einem CronJob, bei Amazon Web Services von geplanten Regeln. Selbst auf einem normalen Windows-Rechner gibt es das Prinzip als « Aufgabenplanung ». Wenn in Technik-News von einem « nächtlichen Job » die Rede ist, der Daten aktualisiert, steht dahinter fast immer dieses alte, sehr robuste Werkzeug.