🧡

100% in und aus Österreich

25+ Jahre in der Branche

„Top Rated Company 2024“

Über 40.000 Kund:innen

Cronjobs verstehen & erstellen

Was ist ein Cronjob?

Ein Cronjob ist eine Aufgabe, die in regelmäßigen Abständen auf Ihrem Server ausgeführt wird. Die Steuerung erfolgt über einen Zeitplan, den Sie selbst festlegen.

Diese Aufgaben können z.B. die automatische Ausführung von Skripten für Ihre Website-Software sein. Wenn Sie die Software über das Control PanelControl-Panel Unser Control Panel erleichtert Ihnen die Verwaltung Ihres Webhostings enorm. Statt sich mit komplexen technischen Befehlen oder Programmierkenntnissen auseinanderzusetzen, können Sie alle wichtigen Einstellungen einfach per Mausklick vornehmen. Modul „Software“ installiert haben, wurden die CronJobs automatisch für Sie angelegt und sind unter „Cron Konfiguration“ ersichtlich.

cronjob übersicht

Wie funktioniert ein Cronjob?

Ein Cronjob basiert auf einer Zeitplan-Syntax, die festlegt, wann und wie oft eine Aufgabe ausgeführt werden soll. Ein typischer Cronjob besteht aus fünf Feldern, die jeweils einen Teil der Zeitangabe definieren:

Minute Stunde Tag Monat Wochentag Befehl/Skript
  • Minute (0 – 59)
  • Stunde (0 – 23)
  • Tag (1 – 31)
  • Monat (1 – 12)
  • Wochentag (1 – 7, 1 steht für Montag)

Beispiel:
Ein Cronjob, der jeden Tag um Mitternacht die Datei „skript.php“ ausführt, sieht so aus:

0 0 * * * /pfad/des/skript.php

Cronjob erstellen

1. Cronjob Verwaltung öffnen

Um einen neuen CronJob anzulegen, müssen Sie nur im Hosting Control Panel Modul „Entwicklung“ die „Cron Konfiguration“ wählen.

Cron Konfiguration öffnen

2. Cronjob erstellen

Danach öffnet sich der Editor Ihrer CronTab-Datei. Jede Zeile repräsentiert einen neuen CronJob. Um einen neuen CronJob zu erstellen, fügen Sie eine Zeile mit dem Zeitplan und dem Pfad zum Skript hinzu.

Mit „Update“ speichern Sie den Cronjob.

Korrekte PHP Version verwenden

Wenn Sie in Ihrem Cronjob PHP-Skripte ausführen möchten, sollten Sie sicherstellen, dass die PHP-Version, die Sie im Cronjob verwenden, mit der Version übereinstimmt, die auf Ihrem Webspace aktiv ist.

Um die richtige PHP-Version zu verwenden, können Sie den PHP-Interpreter mit der jeweiligen Version direkt im Cronjob aufrufen. Der Befehl lautet in der Regel phpXX-cli, wobei XX durch die Versionsnummer ersetzt wird (z. B. php74-cli für PHP 7.4).

Beispiel für einen Cronjob mit PHP 8.1:

@daily /usr/bin/php81-cli /pfad/zum/skript.php

Hier sehen Sie noch einmal das oben erwähnte Beispiel. Ein Cronjob, der täglich um Mitternacht ausgeführt wird:

Cronjob erstellen

Cronjob Fehler erkennen

MAILTO kann die Ausgaben und Fehlermeldungen eines Cronjobs per E-Mail versenden. Fügen Sie hierfür einfach die gewünschte E-Mail Adresse über dem Cronjob ein.

Beispiel:
In diesem Beispiel wird jede Ausgabe des Cronjobs, der jeden Tag um 03:00 Uhr ausgeführt wird, an die angegebene E-Mail-Adresse gesendet.

MAILTO="meine-email@example.com"
0 3 * * * /pfad/des/skript.php
Cronjob erstellen

So funktioniert die Zeitplanung

Der Asterisk (*):

Ein Asterisk steht in der Cronjob-Syntax für „alle möglichen Werte“. Das bedeutet, dass der Cronjob bei einem Asterisk in einer Zeitspalte jeden zulässigen Wert für diese Spalte annimmt.

Beispiel:
Ein Cronjob der das Skript jede Stunde zu Minute 0 ausführt (also z. B. um 12:00, 13:00, 14:00 Uhr usw.).

0 * * * * /pfad/des/skript.php

Listen und Bereiche:

In den einzelnen Zeitspalten können Sie mehrere Werte angeben, entweder als Liste von Einzelwerten oder als Bereich.

  • Liste: Durch Komma getrennte Werte legen fest, dass der Cronjob nur zu diesen Zeitpunkten ausgeführt wird.

Beispiel:
Ein Cronjob der das Skript um 9:00, 14:00 und 18:00 Uhr ausführt.

0 9,14,18 * * * /pfad/des/skript.php
  • Bereiche: Mit einem Bindestrich können Sie einen Bereich definieren.

Beispiel:
Ein Cronjob der das Skript jede Stunde zwischen 9:00 und 17:00 Uhr (also um 9:00, 10:00, 11:00 Uhr usw.) ausführt.

0 9-17 * * * /pfad/des/skript.php

Intervalle mit Schrägstrichen

Zusätzlich zum Asterisk oder einem definierten Bereich können Sie einen Schrägstrich (/) verwenden, um Intervalle festzulegen. Das ist nützlich, wenn eine Aufgabe regelmäßig in bestimmten Abständen ausgeführt werden soll.

Beispiel:
Ein Cronjob der das Skript alle 15 Minuten ausführt (z. B. 00:00, 00:15, 00:30, 00:45 usw.).

*/15 * * * * /pfad/des/skript.php

Wichtig: Das zulässige Mindestintervall bei Cronjobs beträgt 10 Minuten.

Vordefinierte Cronjob-Zeitpläne

Um das Erstellen von Cronjobs noch einfacher zu gestalten, gibt es spezielle Abkürzungen für gängige Zeitpläne:

  • @hourly – CronJob wird einmal pro Stunde ausgeführt
  • @daily – CronJob wird einmal täglich ausgeführt
  • @weekly – CronJob wird einmal pro Woche ausgeführt
  • @monthly – CronJob wird einmal pro Monat ausgeführt
  • @yearly – CronJob wird einmla pro Jahr ausgeführt

Beispiel: Der Cronjob wird einmal pro Stunde ausgeführt.

@hourly /pfad/des/skript.php

Dies entspricht der Konfiguration

 0 * * * * /pfad/des/skript.php

Beispiele häufig benötigter Cronjobs:

CronJob für Typo3 alle 15 Minuten:

*/15 * * * * /usr/bin/php71-cli /var/home/domain_tld/www/pfad_zum_cronjob_script/cli_dispatch.phpsh scheduler > /dev/null 2>&1

CronJob für OwnCloud/Nextcloud mit PHP5.6 alle 15 Minuten:

*/15 * * * * /usr/bin/php56-cli /var/home/domain_tld/www/pfad_zum_cronjob_script/cron.php > /dev/null 2>&1

CronJob für OwnCloud/Nextcloud mit PHP7.1 alle 15 Minuten:

*/15 * * * * /usr/bin/php71-cli /var/home/domain_tld/www/pfad_zum_cronjob_script/cron.php > /dev/null 2>&1

CronJob für Moodle welcher alle 15 Minuten ausgeführt wird:

*/15 * * * * /usr/bin/php71-cli /var/home/domain_tld/www/pfad_zum_cronjob_script/cron.php > /dev/null 2>&1

Einmal pro Monat ausgeführter CronJob:

@monthly /usr/bin/php70-cli /var/home/domain_tld/pfad_zum_cronjob_script.php > /dev/null 2>&1

Verfasst von


Ähnliche Beiträge



Beitrag teilen

XDialog schließen