Cronjobs auf Managed Servern

Mit Cronjobs kann man zeitgesteuert Befehle/Skripte und somit bestimmte Aufgaben von Anwendungen ausführen lassen. Nachfolgend wird aufgezeigt wie man Cronjobs auf einem Managed Server einrichtet.

Cronjobs im Angebot konfigurieren

Wenn Sie sich mit Ihrem Reseller-Account anmelden, können Sie unter Angebote die Angebote Ihrer Endkunden einsehen oder neu anlegen. Alternativ können Angebote einzelner Endkunden über Endkunden => Übersicht => Verwalten => Angebot individualisieren bearbeitet werden.

Im Angebot befinden Sie die Abschnitte Cronjobs und Limits für Cronjobs und Dienste

Ansicht Angebot mit Cronjobs und Limits

Cronjobs

Unter dem Abschnitt Cronjobs befinden sich die Punkte Cronjobs pro Stunde und Cronjobs pro Tag. Darüber können Sie einstellen wie viele Cronjobs der Endkunde ausführen darf. Wenn ein Endkunde einen Cronjob pro Stunde ausführen darf, ist bei Cronjobs pro Stunde eine 1 und bei Cronjobs pro Tag eine 24 einzutragen.

Limits für Cronjobs und Dienste

Die Angaben im Abschnitt Cronjobs und Dienste dienen dazu Softlimits, also Ressourcenbegrenzungen, für die Ausführung festzulegen. Dies dient zum Schutz sollte ein Skript fehlerhaft sein und dadurch z.B. den gesamten Arbeitsspeicher aufbrauchen. Die Limits sollten daher nur so hoch wie nötig, aber so niedrig wie möglich gehalten werden. In dem Abschnitt finden sich die Punkte Arbeitsspeicherbegrenzung, Prozessmengenbegrenzung und Prozesszeitbegrenzung. Möchte man eines der Limits deaktivieren trägt man einfach eine -1 ein. Dann wird dieses Limit für die Ausführung deaktiviert.

Cronjobs einrichten

Einen neuen Cronjob kann man im Endkundenbereich unter Cronjobs => Übersicht einrichten. In der Übersicht erhält man eine Liste aller eingerichteten Cronjobs des Endkunden-Accounts. Über den Button Neuer Cronjob kann man einen neuen Cronjob einrichten.

Ansicht für neuen Cronjob

Hier finden Sie die Punkte Min., Stunde, Tag d. Monats, Monat, Wochentag und Befehl:

  Werte
Min. 0-59
Stunde 0-23
Tag d. Monats 1-31
Monat 1-12
Wochentag 0-6 (Sonntag = 0, Montag = 1, usw.)

Zusätzlich kann auch ein Sternchen „*“ als Wert verwendet werden. Setzt man das Sternchen steht dies für alle vorkommenden Werte. Bei Stunde wären dies 0-23. Beispiele für Cronjobs finden Sie weiter unten.

Den Punkt Befehl behandeln wir gesondert im folgenden Abschnitt.

Der Cronjob Befehl

Bei Punkt Befehl fügen Sie den auszuführenden Befehl ein. Achten Sie dabei auf die Angabe des Pfades zum Skript oder Binärdatei. Die Pfade sollten absolute Pfade sein. Sofern für ein Skript ein Interpreter (z.B. PHP-CLI) benötigt wird, muss dieser davor angegeben werden. Die Einrichtung für PHP-CLI finden Sie hier. Der Befehl kann dann z.B. so aussehen:

/home/user/bin/php /home/user/anwendung/cron.php

Bei jeder Ausführung wird, sofern das Skript eine Ausgabe generiert, eine Mail an die hinterlegte Mail-Adresse des Endkunden versandt. Möchte man dies unterbinden kann man

> /dev/null

hinter den Befehl setzen

/home/user/bin/php /home/user/anwendung/cron.php > /dev/null

Hierbei können aber weiterhin Mails aufgrund von Fehlern oder Warnungen versandt werden. Möchte man auch dies unterbinden fügt man

2>&1

mit an. Dies sieht dann so aus

/home/user/bin/php /home/user/anwendung/cron.php > /dev/null 2>&1

Dadurch erhält man gar keine Mails mehr.

Beispiele für Cronjobs

  1. Cronjob jede Minute ausführen
  Werte
Min. *
Stunde *
Tag d. Monats *
Monat *
Wochentag *
  1. Cronjob alle 5 Minuten ausführen
  Werte
Min. */5
Stunde *
Tag d. Monats *
Monat *
Wochentag *
  1. Cronjob einmal pro Nacht um 3:00 Uhr ausführen
  Werte
Min. 0
Stunde 3
Tag d. Monats *
Monat *
Wochentag *
  1. Cronjob jeden Dienstag um 3:00 Uhr ausführen
  Werte
Min. 0
Stunde 3
Tag d. Monats *
Monat *
Wochentag 2