Was ist CronJob?

Definition


In Unix- oder Unix-ähnlichen Betriebssystemen ist Cron ein zeitbasierter Job-Scheduler. Cron kann zur Job-Planung verwendet werden, beispielsweise zum Ausführen von Shell-Skripten oder Befehlen zu bestimmten Zeiten, in bestimmten Intervallen oder an bestimmten Daten. Dies ermöglicht beispielsweise die Automatisierung der Systemverwaltung oder -wartung, das regelmäßige Herunterladen von Dateien oder das Versenden von E-Mails. Es handelt sich um einen Daemon, d. h. einen Hintergrundprozess, der ständig auf dem Server läuft. CronJobs sind die Aufgaben, die Cron ausführen muss. Der Name Cron leitet sich vom griechischen Gott der Zeit, Chronos, ab.


Anwendung von CronJobs


CronJobs können zur Ausführung bestimmter Befehle oder zur Automatisierung wiederkehrender sequenzieller Aufgaben verwendet werden, wie zum Beispiel das Bereinigen von Datenbanken durch Löschen von Log-Dateien, Kommentaren und veralteten Einträgen oder das Erstellen regelmäßiger Statistiken über die Besucherzahlen einer Website.

Weitere Anwendungsmöglichkeiten von CronJobs sind das Veröffentlichen neuer Inhalte auf einer Website, die Automatisierung des Newsletter-Versands, das Aktualisieren von RSS-Feeds und das Erstellen mehrerer Rechnungen. CronJobs können auch zur Planung von Datenbank-Backups verwendet werden.


Struktur und Syntax einer CronTab-Datei


Cron nutzt spezielle Konfigurationsdateien, sogenannte CronTab-Dateien, die eine Liste der auszuführenden Cron-Jobs enthalten. Cron-Tabelle ist die Definition von CronTab. Ein CronJob wird durch jede Zeile innerhalb der CronTab-Datei dargestellt. Sie ähnelt einer Reihe von Spalten, die durch Leerzeichen getrennt sind. Jede Zeile gibt an, wann und wie oft ein Skript oder ein bestimmter Befehl ausgeführt werden soll.

Leerzeilen oder Zeilen, die mit Tabulatoren, # oder Leerzeichen beginnen, werden in einer CronTab-Datei ignoriert. Befindet sich am Anfang einer Zeile ein #, wird diese als Benutzerkommentar gekennzeichnet.

Die aktiven Zeilen einer CronTab-Datei legen entweder einen CronJob fest oder definieren eine Umgebungsvariable. Für Benutzerkommentare in aktiven Zeilen gelten Einschränkungen.

In einem Befehlszeileninterpreter öffnet der Befehl „crontab -e“ die CronTab-Datei. Der Cron-Daemon überprüft die Befehle sowie deren Ausführungszeitpunkt in der CronTab-Datei, bevor er sie im Hintergrund des Systems ausführt. Die folgende Grundstruktur findet sich in jeder CronTab: sechs Spalten, die tabellenartig angeordnet sind:

* * * * * auszuführender Befehl

Die ersten fünf Spalten enthalten Zeitwerte, die den Ausführungszeitpunkt eines bestimmten Befehls festlegen. Von links nach rechts sind dies:

  • Minute, angegeben als 0–59
  • Stunde, angegeben als 0–23
  • Tag, angegeben als 1–31
  • Monat, angegeben als 1–12
  • Wochentag, angegeben als 0–7, wobei 0 oder 7 für Sonntag steht

Der Platzhalter „*“ wird für die Ausführung zu einem beliebigen Zeitpunkt verwendet (d. h. zu einer beliebigen Minute, Stunde, an einem beliebigen Tag, Wochentag oder Monat), „*/n“ für die Aktivierung alle n (Stunden, Tage usw.) und „n,x,y“ für die Ausführung am n., x. oder y. Die letzte Spalte legt fest, ob das Skript über einen relativen oder absoluten Pfad ausgeführt werden soll. Die Ausführung eines CronJobs erfolgt, wenn die Zeit im Zeitplan mit der aktuellen Zeit übereinstimmt.

Bestimmte Cron-Implementierungen unterstützen auch spezielle Zeichenfolgen. Diese Zeichenfolgen ersetzen die ersten fünf Zeilen in der CronTab. Jede Zeichenfolge definiert eine andere Häufigkeit:

  • @yearly / @annually: Ausführung einmal jährlich um Mitternacht am 1. Januar (0 0 1 1 *)
  • @monthly: Ausführung einmal monatlich um Mitternacht am ersten Tag des Monats (0 0 1 * *)
  • @weekly: Ausführung einmal pro Woche um Mitternacht am Sonntag (0 0 * * 0)
  • @daily: Ausführung einmal pro Tag um Mitternacht (0 0 * * *)
  • @hourly: Ausführung zu Beginn jeder Stunde (0 * * * * *)
  • @reboot: einmalige Ausführung beim Systemstart

CronJob-Beispiele


Ein CronJob könnte beispielsweise die tägliche Sicherung einer Datenbank um 2:00 Uhr morgens beinhalten. In diesem Fall würde die CronTab-Datei wie folgt aussehen:

0 2 * * */bin/sh backup.sh

Manchmal ist es erforderlich, die Ausführung von Aufgaben ausschließlich für bestimmte Monate zu planen. In den Monaten Januar, Mai und August wird das folgende Beispielskript ausgeführt:

* * * 1,5,8 */bin/sh script.sh

Wenn Sie möchten, dass Aufgaben an bestimmten Tagen und zu bestimmten Zeiten ausgeführt werden, beispielsweise jeden Freitag und Sonntag um 17:00 Uhr, sollte das CronTab-Skript wie folgt aussehen:

0 17 * * 0,5/bin/sh script.sh


Bedeutung für das Online-Marketing


Mit CronJobs können Sie zahlreiche Prozesse im Online-Marketing automatisieren und so die Effizienz steigern. CronJobs können dazu verwendet werden, Besucherstatistiken für eine Website zu erstellen und diese zu vordefinierten Zeiten an einen Empfänger zu senden, zusätzlich zur Automatisierung zeitaufwändiger Vorgänge. CronJobs können in Verbindung mit CMS genutzt werden, um automatisch Kennzahlen zu generieren oder im Rahmen von Marketinginitiativen Newsletter zu bestimmten Terminen zu versenden.


Zusammenfassung: CronJob-FAQs


Was bedeutet * in Cron?


In Cron fungiert das Sternchen * als Platzhalter. Es bewirkt, dass eine Aufgabe zu jeder beliebigen Zeit ausgeführt wird.


Wofür wird Cron verwendet?


Mit Cron können Sie Jobs planen und regelmäßige Prozesse wie den Versand von Newslettern automatisieren.


Was ist eine CronTab?


Jeder CronJob wird in einer CronTab-Datei gespeichert.


Wie plant man einen CronJob, der jeden Tag um 2:00 Uhr morgens ein Backup durchführt?


So könnte ein tägliches Backup um 2 Uhr morgens aussehen:

0 2 * * */bin/sh backup.sh


Was this article helpful?

mood_bad Gefällt mir nicht 1
mood Wie 7
visibility Ansichten: 26815