Was ist ein Cronjob?
Bildnachweis: Stas Knop von Pexels

06.09.2022 10:05, zuletzt aktualisiert 23.09.2022 12:41
Robin Schäfer
5

Was ist ein Cronjob?

Manchmal müssen Aufgaben immer wieder zu einem gleichen Zeitpunkt ausgeführt werden. Hier helfen Cronjobs.

Was ist ein Cronjob?

Grundsätzlich sind Cronjobs Aufgaben, die immer zu einem bestimmten Zeitpunkt automatisiert ausgeführt werden. Cronjobs stammen von den Unix- und Unix-ähnlichen (Linux) Betriebssystemen.

Da IT-Systemadministratoren in der Regel faul sind, waren schon immer in jeder Hosting-Umgebung Cronjobs weit verbreitet. Unsere Kunden, die unser Webhosting benutzen, können Cronjobs ganz einfach über die Verwaltungsoberfläche von ihrem Webhosting-Paket anlegen.

Mit einem Cronjob kann man Aufgaben wie z.B das Back-up einer Datenbank, der Versand von E-Mails oder auch ganz eigene individuelle Anwendungsfälle (wie z. B. die monatliche Auswertung der Bestelldaten) automatisieren. Auch der Versand von Rechnungen zu jedem Montag um 12:00 Uhr wäre ein typischer Anwendungsfall für einen Cronjob.

Man spricht in der Regel von dem Cron-Daemon, der sich um das Ausführen der Aufgaben kümmert. Es gibt verschiedene Software-Lösungen, die als Cron-Daemon fungieren können, sich aber in der Grundfunktion ähneln. Dazu zählen zum Beispiel:

  • anacron
  • cronie
  • fcron
  • dcron
  • vixie-cron

Es gibt auch Anbieter, die einen Webcron-Dienst anbieten. Dabei wird ein Cron-Service "imitiert". Hier kann bei den meisten Anbietern eine spezifische URL aufgerufen werden, damit kann eine ähnliche Funktionalität wie native Cronjobs implementiert werden.

Wie ist ein Cronjob aufgebaut?

Wenn man sich die Syntax von einen Cronjob anschaut, kann dies im ersten Moment sehr skurril wirken. Auf den ersten Blick handelt es sich um eine zufällige Anreihung von Zahlen und "Sternchen".

Anhand von folgendem Beispiel möchten wir den Aufbau einmal erklären:

* * * * *       site12345678	/home/sites/site12345678/skripte/newsletter.php

Durch die ersten fünf Stellen, die hier als "Sternchen" dargestellt sind, kann genau definiert werden, zu welchem Zeitpunkt die Aufgabe durchgeführt werden soll.

*   *   *   *   *  [BENUTZERNAME] [BEFEHL]

|   |   |   |   | ---- Tag der Woche von Montag -> Sonntag, Angabe in Zahlen von 0 -> 6. Die 0 entspricht Sonntag

|   |   |   | -------- Monat 1 -> 12

|   |   | ------------ Tag des Monats 1 -> 31

|   | ---------------- Stunde 0 -> 23

| -------------------- Minute 0 -> 59

Wenn Sie nun beispielsweise am 05.12. um 06:34 Uhr einen bestimmten Befehl ausführen möchten, würde der passende Cronjob hierzu wie folgt aussehen:

34 6 5 12 *  [BENUTZERNAME]  [BEFEHL]

Der * entspricht einer Wildcard (also egal welchem Wert). Dadurch, dass dieser in unserem Beispiel als * angegeben wird, ist es egal, auf welchen Wochentag unser Termin fällt. Dieser Wert wird dann ignoriert. Die Variante:

34 6 5 12 3  [BENUTZERNAME]  [BEFEHL]

würde bedeuten, dass der Befehl auch mittwochs ausgeführt wird. Die weitere Variante:

34 4 * 12 3  [BENUTUZERNAME]  [BEFEHL]

würde bedeuten, dass der Befehl jeden Mittwoch im Dezember ausgeführt wird.

Wie erstelle ich einen Cronjob im Webhosting-Paket?

Als Kunde von unserem Webhosting können Sie ganz bequem einen Cronjob anlegen. Bitte melden Sie sich dazu in der Verwaltungsoberfläche von Ihrem Paket an. Wechseln Sie in der Verwaltungsoberfläche nach dem erfolgreichen Login in den Menü-Punkt Cronjobs. Dort finden Sie dann einen Einrichtungsassistenten vor.

Cron-Job Cronjob