Cronjob mit Vserver
andi
- webserver
Hallo zusammen,
ich möchte gerne eine PHP Datei jede 15 Minuten mithilfe eines Cronjobs aufrufen lassen.
Ich nutze einen VServer mit Plesk, dort kann ich theoretisch bequem einen Cronjob einrichten nur leider weiss ich nicht wie!
Die Zeitangabe kann ich dort einstellen, mir fehlt nur der Befehl der die Datei aufruft.
Wenn ich nur den Serverpfad oder nur die www-Adresse angebe passiert nichts.
Es gibt doch bestimmt jemanden der mir helfen kann?!
Vielen Dank im voraus
Andi
hi,
Es gibt doch bestimmt jemanden der mir helfen kann?!
Cronjobs laufen auf der Ebene des Dateisystems, meist ohne gesetzte Umgebungsvariablen. Das solltest Du berücksichten, das heißt, auf jeden Fall den vollen Pfad zum Programm angeben und ggf. den Interpreter vornweg (bei Scripts).
--roro
Hallo roro,
Cronjobs laufen auf der Ebene des Dateisystems, meist ohne gesetzte Umgebungsvariablen. Das solltest Du berücksichten, das heißt, auf jeden Fall den vollen Pfad zum Programm angeben und ggf. den Interpreter vornweg (bei Scripts).
Mein PHP-Pfad: /usr/bin/php
Meine PHP-Datei: /srv/www/vhosts/test.de/ordner/cron.php
Der Cronjob Befehl:
/usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php
Geht das schonmal in die richtige Richtung?
Sorry, aber ich hab von Linux und den Serversachen gar keine Ahnung.
Andi
hi Andi,
Cronjobs laufen auf der Ebene des Dateisystems, meist ohne gesetzte Umgebungsvariablen. Das solltest Du berücksichten, das heißt, auf jeden Fall den vollen Pfad zum Programm angeben und ggf. den Interpreter vornweg (bei Scripts).
Mein PHP-Pfad: /usr/bin/php
Meine PHP-Datei: /srv/www/vhosts/test.de/ordner/cron.phpDer Cronjob Befehl:
/usr/bin/php /srv/www/vhosts/test.de/ordner/cron.phpGeht das schonmal in die richtige Richtung?
Na klar hunnert pro! Zum Testen die letzte Zeile mal eintippen und schauen was passiert.
-roro
Der Befehl:
/usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php
funktioniert leider nicht.
Ich habe eingestellt das er die Datei jede minute öffnen soll, nur leider passiert nichts.
Am Php-Script selbst sollte es nicht liegen da er meine Datenbanken aktualisiert wenn ich es per Hand öffne.
Bei den vorgefertigten Crontabs steht am Ende immer: >/dev/null 2>&1
Was hat das zu bedeuten?
Habs einfach mal mit hinter den Befehl geschrieben, hilft aber auch nicht!
Habe auch schon etliche Seiten durchsucht aber ich finde immer nur Anleitungen für die Zeitangaben, nicht aber für die eigentlichen Befehle.
Für weitere Ideen wäre ich sehr dankbar
Gruß, Andi
hi,
Der Befehl:
/usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php
funktioniert leider nicht.
Ich habe eingestellt das er die Datei jede minute öffnen soll, nur leider passiert nichts.
Am Php-Script selbst sollte es nicht liegen da er meine Datenbanken aktualisiert wenn ich es per Hand öffne.Bei den vorgefertigten Crontabs steht am Ende immer: >/dev/null 2>&1
Was hat das zu bedeuten?
echo "Dies ist eine Ausgabe auf stdout." >&1
echo "Dies ist eine Ausgabe auf stderr." >&2
http://www.thomashertweck.de/redir.html
Habs einfach mal mit hinter den Befehl geschrieben, hilft aber auch nicht!
Es hilft, wenn Du diese Umleitungen weglässt zum Testen, vorausgesetzt, Dein Script gibt per echo auch mal was aus, was es gerade tut.
--roro
Hallo,
wo kann ich denn sehen ob php-cli installiert ist?
Mein script aktualisiert nur meine Mysql-Datenbank, diese wird auf einer anderen Seite teilweise wieder ausgegeben. Ist ja quasi wie echo
Habe gerade bei meinem Provider angerufen aber der verweist mich auf die Plesk-Dokumentation. In dieser wird aber wie in allen anderen Anleitungen auch, nicht beschrieben wie ich eine simple PHP-Datei öffnen lassen kann, sondern nur die Zeitangaben.
VServer sind doch so am boomen, hat den noch niemand versucht einen Crontab mit Plesk(8.0.1) zu erstellen?
Andi
Hast du mal versucht
php /srv/www/vhosts/test.de/ordner/cron.php
über Putty zu starten?
Gruß
Krueger
Hi,
Hast du mal versucht
php /srv/www/vhosts/test.de/ordner/cron.php
über Putty zu starten?
das erste mal das ich mit ssh was mache :)
Ja es funktioniert, die Datenbanken werden aktualisiert.
Wenn ich genau den selben befehl als Cronjob angebe funktioniert es aber nicht.
Kann ich den Cronjob nicht manuell über ssh setzen?
Noch ein Frage:
Wenn ich bei Minute */1 (der Rest nur *) angebe, heisst das dann das er den Cronjob jede minute ausführt?
Oder muss ich jede minute einzeln schreiben!?
Vielen Dank für eure Hilfe (und euer Verständnis ;) )
Andi
Juchuu,
es klappt jetzt
Ich mußte zusätzlich zu dem Crontab auf der Verwaltungsoberfläsche von Plesk, nur noch in der Php-Datei den Pfad zu php angeben:
#! /usr/bin/php
<?php
echo "bla bla";
?>
Und flupp, es klappt :)
Velen Dank für eure Mithilfe,
Andi
Für weitere Ideen wäre ich sehr dankbar
Nur so eine vage Idee: hast du php-cli installiert? Wenn nicht, dann mach es mal.
Gruß
Krueger