Wie rufe ich korrekt ein PHP-Skript über Crontab auf?

Sie können die auf den Servern installierte CLI-Version von PHP nutzen, um zeitgesteuert regelmässig PHP-Skripte auszuführen.

Crontab

Loggen Sie sich dazu in den Confixx Administrationsbereich ein und wählen Sie im Tools-Menü den Eintrag Crontab - Sie erhalten dann folgenden Bildschirm:

Hier füllen Sie nun die Felder nach folgendem Muster:

Spalte Wert
Minute 0-59
Stunde 0-23
Tag im Monat 1-31
Monat 1-12
Wochentag 0-6 bzw. 1-7
Befehl z.B. /usr/bin/php5 /pfad/zum/skript.php

Informationen zur Verwendung der Werte

Als Werte verwenden Sie die oben angegebenen gültigen Zahlen (im Feld Monat und Wochentag auch über die englischen Namen). Sie können mehrere Werte in einem Feld verwenden, wenn Sie diese durch Komma trennen. Bereiche können ebenfalls durch Verwendung eines Bindestrichs definiert werden. 10,11,12,13,14,15,30 kann dann auch als 10-15,30 definiert werden. Das *-Zeichen wird als Platzhalter eingesetzt und gilt dann für jeden auftretenden Wert.

Weiterhin sind sogenannte steps erlaubt:
Durch Verwendung eines Slashes ("/") gefolgt von einem Wert, definieren Sie schrittweise Ausführungszeitpunkte:
*/2 bedeutet jeden zweiten Wert, in der Spalte Monat also 2,4,6,8,10,12, im Feld Wochentag entsprechend TU,TH,SA (Di,Do,Sa).
25-39/3 liefert z.B. 25,28,31,34,37.

Die Spalte Befehl

In der Befehlszeile geben Sie den PHP-Interpreter und Ihr Skript inkl. vollständigem Pfad an.

Bitte stellen Sie hierbei wirklich sicher, dass Sie jeweils den vollständigen Pfad verwenden. In bestimmten Serverumgebungen ignoriert "cron" die Tilde ("~") als Platzhalter für das Home-Verzeichnis, da es die Umgebungsvariablen nicht ausliest und findet eventuell die PHP-Binärdatei nicht, wenn der Pfad dorthin nicht mit angegeben wurde.

PHP-Befehl

Geben Sie die Befehlszeile nach folgendem Muster an:

/usr/bin/php4 /home/www/webX/html/pfad/zum/skript.php

Statt php4 können Sie auch php5 verwenden, wenn Ihr Skript mit PHP 5 geparst werden soll. Die Angabe von nur /usr/bin/php verwendet ebenfalls PHP 4.

Bitte beachten Sie, dass bei Verwendung über cron, die CLI-Variante von PHP genutzt wird (Command Line Interface). Skripte, denen bei Aufruf als URL Parameter nach einem Fragezeichen übergeben werden (z.B. http://www.meineseite.ch/test.php?test=hallo), müssen diese Argumente nun mit Leerzeichen getrennt übergeben werden, z.B. /home/www/webX/html/test.php hallo. Diese Parameter können dann über das Array $argv ausgelesen werden.
Vgl. http://www.php.net/manual/de/reserved.variables.argv.php.

Versand von Skriptausgaben und/oder Fehlermeldungen unterdrücken

In der oben dargestellten Zeile erhalten Sie wahrscheinlich Fehlermeldungen oder Ausgaben des Skripts an Ihre E-Mail Adresse, da alle Ausgaben an Ihren Web-Benutzer (webX) geschickt werden.

Befehle und Programme auf Linux-Basis verwenden Ein- und Ausgabekanäle, um Informationen zu verarbeiten (weiterführende Informationen). Bei der Ausgabe muß man zwei Kanäle unterscheiden: Normale Ausgabe (stdout) und Fehlermeldungen (stderr). Diese werden von Programmen unterschiedlich ausgegeben: Normale Ausgabe auf Kanal 1, Fehler auf Kanal 2. Sie können den Standard- und/oder Fehlerausgabekanal ins "Nichts" umleiten, damit Sie keine Mails erhalten, wenn Ihr Skript ausgeführt wird.

Um die Standardausgabe zu unterdrücken, hängen Sie Folgendes an Ihre Befehlszeile:

> /dev/null

Um die Fehlerausgabe unterdrücken, hängen Sie Folgendes an Ihre Befehlszeile:

2> /dev/null

Um beide Ausgaben zu unterdrücken, ergänzen Sie:

>& /dev/null

Die komplette Befehlszeile im Beispiel mit Unterdrückung beider Ausgabekanäle sieht somit wie folgt aus:

/usr/bin/php4 /home/www/webX/html/pfad/zum/skript.php >& /dev/null

Bitte verwenden Sie sinnvolle Werte für die Zeitangaben. Zu häufig ausgeführte Cronjobs führen ggf. zu hoher Belastung des Systems und können ggf. eine Sperrung Ihres Webs verursachen.




Verwandte Artikel

Anhänge

keine
Clip to Evernote

Aktion

Seite drucken Seite drucken

Seite mailen Seite mailen

Kommentar schreiben Kommentar schreiben

Abonnieren

Zu den Favoriten Zu den Favoriten

Hervorhebung entfernen Hervorhebung entfernen

BearbeitenBearbeiten

Quick Edit

PDF-Export

Rating ( )

Wie bewerten Sie diese Antwort?



Danke fürs Bewerten dieser Antwort.

Fortfahren