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
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.
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¶
- Cronjob jede Minute ausführen
Werte | |
---|---|
Min. | * |
Stunde | * |
Tag d. Monats | * |
Monat | * |
Wochentag | * |
- Cronjob alle 5 Minuten ausführen
Werte | |
---|---|
Min. | */5 |
Stunde | * |
Tag d. Monats | * |
Monat | * |
Wochentag | * |
- Cronjob einmal pro Nacht um 3:00 Uhr ausführen
Werte | |
---|---|
Min. | 0 |
Stunde | 3 |
Tag d. Monats | * |
Monat | * |
Wochentag | * |
- Cronjob jeden Dienstag um 3:00 Uhr ausführen
Werte | |
---|---|
Min. | 0 |
Stunde | 3 |
Tag d. Monats | * |
Monat | * |
Wochentag | 2 |