PHP-Script mittels Cronjob ausführen
-
veit.stoermer
- Posts: 4
- Joined: 2005-08-06 11:29
- Location: Burglengenfeld
- Contact:
PHP-Script mittels Cronjob ausführen
Zuerst will ich sagen, daß ich mehrere Tage lang Google, dieses Forum und andere Foren gequält habe, bevor ich heute selbst schreibe.
Ich betreibe einen High-End-Server MR (Strato) und als OS kommt Suse 9.3 zum Einsatz.
MeinProblem
Ich will via Cronjob (/etc/crontab) ein PHP-Script ausführen. Zu Testzwecken wollte ich dies alle zwei Minuten tun. Später wird das Script einmal am Tag ausgeführt.
Folgende Varianten habe ich versucht:
*/2 * * * * lynx --dump http://domain.de/script.php > /dev/null
*/2 * * * * /usr/bin/php /PFAD/ZUM/SCRIPT/script.php
Außerdem habe ich diese Einträge auch in einer crontab für den ROOT und für einen anderen Benutzer ausprobiert.
Leider funktioniert keine dieser Möglichkeiten. Daher meine Frage, wie ich mein Ziel erreichen kann.
Danke schon jetzt !!!
Veit
http://www.extopia.de
Ich betreibe einen High-End-Server MR (Strato) und als OS kommt Suse 9.3 zum Einsatz.
MeinProblem
Ich will via Cronjob (/etc/crontab) ein PHP-Script ausführen. Zu Testzwecken wollte ich dies alle zwei Minuten tun. Später wird das Script einmal am Tag ausgeführt.
Folgende Varianten habe ich versucht:
*/2 * * * * lynx --dump http://domain.de/script.php > /dev/null
*/2 * * * * /usr/bin/php /PFAD/ZUM/SCRIPT/script.php
Außerdem habe ich diese Einträge auch in einer crontab für den ROOT und für einen anderen Benutzer ausprobiert.
Leider funktioniert keine dieser Möglichkeiten. Daher meine Frage, wie ich mein Ziel erreichen kann.
Danke schon jetzt !!!
Veit
http://www.extopia.de
Re: PHP-Script mittels Cronjob ausführen
Statt lynx mal wget testen. Ist zwar doof, dass dann Dateien angelegt werden - aber es funktioniert :)
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: PHP-Script mittels Cronjob ausführen
Du kannst die heruntergeladenen Daten auch in /dev/null speichern. :roll:M.C.S. wrote:Statt lynx mal wget testen. Ist zwar doof, dass dann Dateien angelegt werden - aber es funktioniert :)
@veit.stoermer: Was funktioniert nicht? Welche Fehlermeldungen erhältst du?
Die Variante über die CLI-Version von PHP ist vorzuziehen. Bei allem anderen hast du wieder unnötigen Overhead durch den Apache und den Netzwerklayer (TCP/IP).
-
veit.stoermer
- Posts: 4
- Joined: 2005-08-06 11:29
- Location: Burglengenfeld
- Contact:
Re: PHP-Script mittels Cronjob ausführen
Seltsamer Weise funktioniert
/usr/bin/php -f /PFAD/script.php > /dev/null
jetzt und ich weiss ehrlich gesagt nicht, warum.
Werde die anderen Möglichkeiten aber trotzdem ausprobieren, weil zwei Möglichkeiten besser sind, wenn eine nicht funktioniert.
Vorerst danke.
Veit
http://www.extopia.de
/usr/bin/php -f /PFAD/script.php > /dev/null
jetzt und ich weiss ehrlich gesagt nicht, warum.
Werde die anderen Möglichkeiten aber trotzdem ausprobieren, weil zwei Möglichkeiten besser sind, wenn eine nicht funktioniert.
Vorerst danke.
Veit
http://www.extopia.de
Cronjobs und Fehlersuche
Ein Nachtrag:
wenn du schon den Cronjob-Lauf debuggen willst, dann verzichte darauf, per ">/dev/null" ausgerechnet die eventuell erzeugten Fehlermeldungen zu unterdrücken, die dir weiterhelfen sollen. :roll:
Außerdem ist es dann auch hilreich, per Env.var. MAILTO die Mailadresse zu setzen, wo die Mails mit den Meldungen hinsollen.
wenn du schon den Cronjob-Lauf debuggen willst, dann verzichte darauf, per ">/dev/null" ausgerechnet die eventuell erzeugten Fehlermeldungen zu unterdrücken, die dir weiterhelfen sollen. :roll:
Außerdem ist es dann auch hilreich, per Env.var. MAILTO die Mailadresse zu setzen, wo die Mails mit den Meldungen hinsollen.
-
veit.stoermer
- Posts: 4
- Joined: 2005-08-06 11:29
- Location: Burglengenfeld
- Contact:
Re: PHP-Script mittels Cronjob ausführen
Wie bereits gesagt, funktioniert die Ausführung mittels PHP.
Folgenden Eintrag habe ich jetzt unter ROOT:
MAILTO=v.stoermer@mp-me.de
59 00 * * * /usr/bin/php -f /PFAD/ZUM/SCRIPT/crontab.php > /dev/null
30 13 * * * /usr/bin/php -f /PFAD/ZUM/SCRIPT/z-update.php > /dev/null
Die erste Zeile wird ausgeführt, die zweite nicht.
Weiß jemand warum?
Danke schon jetzt
Veit
http://www.extopia.de
Folgenden Eintrag habe ich jetzt unter ROOT:
MAILTO=v.stoermer@mp-me.de
59 00 * * * /usr/bin/php -f /PFAD/ZUM/SCRIPT/crontab.php > /dev/null
30 13 * * * /usr/bin/php -f /PFAD/ZUM/SCRIPT/z-update.php > /dev/null
Die erste Zeile wird ausgeführt, die zweite nicht.
Weiß jemand warum?
Danke schon jetzt
Veit
http://www.extopia.de
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: PHP-Script mittels Cronjob ausführen
Leite die Ausgabe nicht nach /dev/null (wie kawfy schon gesagt hat). Dann erhältst du vllt. auch mal eine Fehlermeldung.veit.stoermer wrote:Weiß jemand warum?
Re: PHP-Script mittels Cronjob ausführen
Netter Artikel dazu:
http://www.phpbuilder.com/columns/darrell20000319.php3
Außerdem dringend die Ausgabeumleitung weglassen - sonst siehst Du da echt nichts. Klappt die direkte Ausführung der Scripte oder gibt das Fehler?
Grüße,
flo.
http://www.phpbuilder.com/columns/darrell20000319.php3
Außerdem dringend die Ausgabeumleitung weglassen - sonst siehst Du da echt nichts. Klappt die direkte Ausführung der Scripte oder gibt das Fehler?
Grüße,
flo.
-
veit.stoermer
- Posts: 4
- Joined: 2005-08-06 11:29
- Location: Burglengenfeld
- Contact:
Re: PHP-Script mittels Cronjob ausführen
Die direkte Ausführung klappt.
Re: PHP-Script mittels Cronjob ausführen
Tipp ins Blaue- setz den zweiten Dateinamen evtl. mal in Anführungszeichen, nicht, daß der Strich falsch interpretiert wird!?
flo.
flo.