Cronjob will nicht so recht

kenny_g

New Member
Hallo,

ich habe mir vor zwei Tagen einen Cronjob unter Plesk 11.09 angelegt. Ich habe das so gemacht, wie zuvor unter Plesk 9.5, aber bei 11.09 will er so nicht. Kann mir da einer bitte mal Schützenhilfe leisten und schauen was ich übersehen habe.

Also Cronjob unter plesk 11.09 wurde wie folgt angelegt:

Ein PHP Script soll alle 30 Minuten ausgeführt werden

Minute: */30

Stunde: *

Tag des Monats: *

Monat: *

Wochentag: *

Befehl: /usr/bin/php /srv/www/vhosts/meinedomain/httpdocs/ordner/meinscript.php

Über Eure Hilfe würde ich mich sehr freuen. Das Script selber läuft, wenn man es manuell ausführt.
 
Was passiert, wenn Du den Cronjob unter genau dem User mit dem genau gleichen Befehl wie "/usr/bin/php /srv/www/vhosts/meinedomain/httpdocs/ordner/meinscript.php" aufrufst?
 
@GwenDragon
Im Logfile steht nichts und eine Mail bekomme ich auch nicht.

@PCFreund
wenn ich ehrlich bin, habe ich dich nicht verstanden, was du von mir willst. Wie ich schon geschrieben habe, funktioniert das Script, wenn ich es manuell aufrufe.
 
Was macht den Unterschied zwischen Konsole oder so manuelle Ausführung? Beides funktioniert. Wie schon geschrieben unter Plesk 9.5 wurde das Script via CronJob ausgeführt und auch da gab es keine Fehler in den Logfiles. Was mich auch wundert ist, dass keine Mail verschickt wird.

Die Frage die ich mir stelle, ist, ob PHP anders angesprochen werden muss, oder ich irgendwo ein Fehler in den Einstellungen gemacht habe, die ich nicht sehe.
 
Das ist die Frage? Der wird als Benutzer ausgeführt. Ich habe den Cronjob in Plesk angelegt, als ich mich als Reseller eingeloggt habe. Wenn ich den Cronjob mal via Webmin ausführe dann bekomme ich:

Befehl geändert in wget http://www.meinedomain.de/clear.php

HTTP request sent, awaiting response... 200 OK
Length: 0 [text/html]
clear.php: Permission denied

Cannot write to `clear.php' (Permission denied).

Berechtigung ist aber 777
 
Last edited by a moderator:
Beide Aufrufarten sind schon mal alles andere identisch.
Bei wget rufst du den Befehl über den Webserver(!), im Plesk-Cronjob über die Konsole.

Was PCFreund meinte ist dass du mit su oder sudo genau den gleichen Befehl unter dem Account des jeweiligen Users ausführen und dann das Ergebnis ansehen sollst.

Cannot write to `clear.php' (Permission denied).
Das ist kein Standardfehler, zumal das "Cannot write" ist etwas verwirrend. Es sieht so aus als ob der Cronjob wohl funktioniere, dein Skript aber nicht. Sei es durch fehlende Berechtigungen (auch die Ordner-Rechte überprüfen falls die Datei noch nicht existiert!) oder durch fehlerhaftes Skript respektiv Konfig.
 
So, nun komme ich der Problematik näher. Wenn ich den Cron sofort ausführen lasse, dann führt er den auch durch. Der erste Fehler lag daran, dass ich dem htdocs Ordner anscheinend nicht die richtigen Rechte gegeben habe. Nur wird der Cron nicht alle 5 Minuten ausgeführt, so wie ich den aktuell eingestellt habe.
 
Nur wird der Cron nicht alle 5 Minuten ausgeführt, so wie ich den aktuell eingestellt habe.
Meines Wissens benutzt Plesk den crond im Hintergrund, schau also mal in dessen Logfile ob es Auffälligkeiten gibt.
Wie ist der Cron denn konfiguriert?
 
Habe ich so eingestellt:

Minute: */5

Stunde: *

Tag des Monats: *

Monat: *

Wochentag: *

Befehl: /usr/bin/php /srv/www/vhosts/meinedomain/httpdocs/meinscript.php
 
Hmm, nun habe ich wieder getestet und muss leider feststellen, egal was ich mache, der will den Cronjob zur geplanten Zeit nicht ausführen.
 
Kein Fehler zu sehen

EDIT:
Ich habe mal eben via crontab -l gesehen, das nur die Plesk Crons laufen, aber nicht meine unter den Usern angelegte Cronjobs. Im Netz habe ich gelesen, dass schon bei Plesk 10.4 mitunter Probleme auftauchten und bisher bei vielen unter der 11.xx auch.

Man wie bekomme ich die nur zum laufen ...... Hat noch einer einen Tipp?
 
Last edited by a moderator:
So, ich habe jetzt mal folgendes ausprobiert. Ich habe mal den gleichen Cronjob via Webmin als root angelegt und siehe da, der Cronjob wird ausgeführt. Wenn ich den Cronjob als User über Webmin manuell starte und das PHP Script ausführen will, bekomme ich ein permission denied, das manuelle ausführen als root hingegen funktioniert.
 
Dann hat der normale Benutzer keine Rechte, auf die Datei zuzugreifen. Was sagt ein "ls -alFh <php-datei>.php"?
 
Da werde ich mal einen Blick drauf werfen. Ich habe die Datei als FTP User hochgeladen und sollte eigentlichfunktionieren wie bei Plesk 9.5 auch. Aber hier muss man wohl noch etwas beachten. Wobei wenn ich den Cron via User anlege erscheint er gar nicht unter der Cron Liste.
 
Back
Top