Hostpoint - Hilfe & Support > Hilfe & Support > Produkte > Webhosting > Cronjobs einrichten

Cronjobs einrichten

Cronjobs sind dazu da, um regelmässig wiederkehrende Abläufe zu automatisieren. Sie können steuern, zu welchen Tageszeiten und/oder Wochentagen bestimmte Programme oder Skripte ausgeführt werden.

Um einen neuen Cronjob anzulegen, loggen Sie sich in Ihr Control Panel ein. Sie finden den «Cronjob Manager» unter «Admin».

Benachrichtigung

Wenn die Ausführung Ihres Cronjobs Textausgaben produziert, werden Ihnen diese per E-Mail zugestellt. Im Feld «E-Mail-Adresse» können Sie die Empfängeradresse für die Nachrichten angeben. Falls Sie diese Nachrichten nicht möchten, fügen Sie die Zeichen >/dev/null 2>&1 hinten an Ihren Befehl an. Damit werden alle Ausgaben unterdrückt.

/usr/local/bin/php -f /home/username/bin/beispiel.php >/dev/null 2>&1

oder

/home/username/bin/beispiel >/dev/null 2>&1

Cronjob-Befehl

Die Datei, die Sie als Cronjob ausführen wollen, muss entweder ausführbar sein oder durch einen Interpreter ausgeführt werden.

Ausführbare Dateien

Binäre Programme oder Skripte mit einer Shebang-Zeile können direkt ausgeführt werden. Stellen Sie dazu sicher, dass der Dateimodus dies auch zulässt: Das x-Bit muss gesetzt sein. Wenn Sie nicht sicher sind, setzen Sie den Modus auf 755 oder 750.

Shebang-Zeile

Diese spezielle Zeile im Skript gibt den Interpreter an, der den Inhalt dieses Skripts lesen und ausführen kann. Es ist immer die oberste Zeile in der ersten Spalte und sie beginnt mit den Zeichen #!, gefolgt vom Pfad zum Interpreter.

Eine Shebang-Zeile für ein PHP-Skript auf unseren FreeBSD-Servern sieht so aus:

#!/usr/local/bin/php

Weitere Shebang-Zeilen:

Perl:

#!/usr/local/bin/perl

Python:

#!/usr/local/bin/python

Achtung: Stellen Sie sicher, dass Sie keine DOS-Zeilenumbrüche verwenden!

Skripte mit einem Interpreter starten

Um ein Skript ohne Shebang-Zeile auszuführen, müssen Sie dieses mit dem dazugehörigen Interpreter aufrufen. Beachten Sie, dass die meisten zusätzlichen Programme unter FreeBSD Unix unter /usr/local/bin/ liegen. Lesen Sie dazu auch den Artikel zu Pfaden im System.

Für ein PHP-Skript unter /home/username/bin/beispiel.php sieht das Cron-Kommando wie folgt aus:

/usr/local/bin/php -f /home/username/bin/beispiel.php

Weitere Kommandozeilen:

Perl:

/usr/local/bin/perl /home/username/bin/beispiel.pl

Python:

/usr/local/bin/python /home/username/bin/beispiel.py

Zeitpunkt der Ausführung

Um zu bestimmen, wann das Kommando des Cronjobs ausgeführt werden soll, müssen Sie fünf Zeitwerte angeben. Der Cron-Daemon prüft minütlich, ob einer Ihrer Cronjobs ausgeführt werden soll. Immer wenn alle fünf Werte zutreffen, wird das Kommando ausgeführt.

Minute

Geben Sie die Minute an, in der Ihr Cronjob ausgeführt werden soll (0-59).

Stunde

Geben Sie die Stunde an, in der Ihr Cronjob ausgeführt werden soll. (0-23).

Tag

Geben Sie den Tag im Monat an, an dem Ihr Cronjob ausgeführt werden soll (1-31).

Monat

Geben Sie den Monat im Jahr an, an dem Ihr Cronjob ausgeführt werden soll (1-12).

Wochentag

Geben Sie den Tag in der Woche an, an dem Ihr Cronjob ausgeführt werden soll (0-7, Sonntag ist 0 und 7).

 Liste

Sie können auch mehrere, durch Kommas getrennte Werte angeben. Um einen Job um xx:20 und xx:50 zu starten, tragen Sie bei "Minute" "20,50" ein. 

 Wildcard

Felder, die Sie «ignorieren» möchten, können Sie mit einer Wildcard «*» versehen. Wenn Sie z.B. einen Job an jedem Tag im Jahr ausführen möchten, müssen Sie bei «Tag», «Monat» und «Wochentag» nicht die ganze Liste der Möglichkeiten ausfüllen; es genügt, diese Felder mit «*» als «immer zutreffend" zu markieren.

 Intervall 

Wenn Sie ein Skript in einem bestimmten Intervall ausführen wollen, können Sie dies mit "*/interval" markieren. Das Feld gilt als zutreffend, wenn der aktuelle Wert restlos durch interval teilbar ist. Wenn Sie möchten, dass ein Job alle zwei Stunden ausgeführt wird, tragen Sie bei «Stunde» "*/2" ein. Das trifft auf 0, 2, 4, 6 Uhr etc. zu.

 Empfehlung Hostpoint 

Wir empfehlen Ihnen, sofern möglich, als Starttermin für Ihren Cronjob den Zeitraum zwischen nachts 01.00 und 05.00 Uhr zu wählen, da um diese Zeiten die Serverbelastung geringer ist als tagsüber oder um Mitternacht.

Beispiele

Ausführung zu einer bestimmten Zeit

Sie möchten ein Skript zur wöchentlichen Zusammenfassung immer an Samstagabend um 23.15 Uhr ausführen:

  

Minute: 15
Stunde: 23
Tag: *
Wochentag: 6
Monat: *

Befehl:

/home/username/bin/zusammenfassung.pl

  

Ausführung alle 5 Minuten

Sie bieten dem Benutzer Ihrer Website an, via E-Mail ein Bild von sich auf die Seite zu laden. Dazu möchten Sie diese Mailbox alle 5 Minuten überprüfen, um die neuen Bilder in die Seite einzubinden.

Minute: */5
Stunde: *
Tag: *
Wochentag: *
Monat: *

Befehl:

/usr/local/bin/php -f /home/username/bin/checkmail.php
Wiederholte Ausführung nachts

Um einen kleinen Film zu machen, möchten Sie nachts in regelmässigen Abständen ein Bild von einer Webcam in Ihrer Stadt herunterladen. Dazu haben Sie sich einen «Einzeiler» geschrieben, den Sie von 20.00 Uhr abends bis 6.00 Uhr morgens alle 20 Minuten ausführen möchten.

Minute: */20
Stunde: 20-23,0-6
Tag: *
Wochentag: *
Monat: *

Befehl:

/usr/local/bin/wget 'http://www.exmaple.com/webcam.cgi?tilt=-20&yaw=93' -O /home/username/cam-images/`date +\%Y-\%m-\%d`.jpg

Weiterführende Ressourcen

Weitere Informationen zum Umgang mit Cronjobs finden Sie z. B. unter http://www.howtoforge.de/anleitung/eine-kurze-einfuhrung-in-cron-jobs/ oder im Unix-Buch Ihres Vertrauens.

You must to post a comment.
Last modified
19:55, 31 Mar 2015

Tags

Classifications

This page has no classifications.