mal wieder Cronjob probleme

#1
Hallo an alle!

Eins vorab, ich habe schon sämtliche google-ergebnisse, foren, blogs und tutorials durchgelsen aber leider keine hilfe zu meinem Problem gefunden.

Ich habe ISPConfig 3.0.3.2 mit Hilfe der Anleitung "Der Perfekte Server" (oder so..) auf einem frischen Debian 5.0 - minimal - RAID1 - 64bit installiert.

Bis auf ein zwei ungereimtheiten läuft auch alles.

Nun zu meinem Problem:

Ich habe einen Kunden angelegt und im Bereich Limits unter anderem folgendes Angegeben:

Max. Anzahl an Shell Benutzer: 1
SSH-Chroot Optionen: none und Jailkit aktiviert
Max. Anzahl an Cron Jobs: 5
Max. erlaubter Cron Job Typ (chrooted und full erlauben auch url): Full Cron
Min. Abstand zwischen Ausführungen: 1

Danach im Bereich Domains->Cron Jobs einen neuen Cronjob angelegt:

Zugeordnete Website: die website des users
Minuten: *
Stunden: *
Tage des Monats: *
Monate: *
Tage der Woche: *
Auszuführender Befehl: /var/www/clients/client_5/web_24/web/misc/mail.sh

in der Datei mail.sh steht folgendes:

php -q /var/www/clients/client_5/web_24/web/misc/mail.php

und in der datei mail.php wird lediglich eine e-mail an mich geschickt.
(Alles erstmal zum testen)

So, passieren tut danach überhaupt nichts...


Wenn ich beim Cronjob anlegen "/var/www/clients/client_5/web_24/web/misc/mail.sh" mit "http://www.domain.tld/misc/mail.php" ersetze funktioniert alles ohne Probleme.


Ein versuch in der Shell mit dem befehl:


sh /var/www/clients/client_5/web_24/web/misc/mail.sh

führt auch zum gewünschten ergebnis und sendet mir die mail.

Thema Logfiles:

Die /var/log/auth.log gibt mir jede minute folgendes aus:

Mar 15 16:58:01 server02 CRON[14377]: pam_unix(cron:session): session opened for user root by (uid=0)
Mar 15 16:58:01 server02 CRON[14376]: pam_unix(cron:session): session opened for user web24 by (uid=0)
Mar 15 16:58:01 server02 CRON[14376]: pam_unix(cron:session): session closed for user web24
Mar 15 16:58:01 server02 CRON[14377]: pam_unix(cron:session): session closed for user root


Die /var/log/syslog.log gibt jede Minute folgendes aus:

Mar 15 17:01:01 server02 /USR/SBIN/CRON[14506]: (root) CMD (/usr/local/ispconfig/server/server.sh > /dev/null 2>> /var/log/ispconfig/cron.log)
Mar 15 17:01:01 server02 /USR/SBIN/CRON[14507]: (web24) CMD (/var/www/clients/client_5/web_24/web/misc/mail.sh)


Über Vorschläge und Lösungsansätze währe ich überaus Dankbar! ;)
 

Till

Administrator
#2
Es gibt eine ganz wichtige Sache die bei Cronjobs zu beachten ist und diese ist nicht ISPConfig spezifisch: die Variable $PATH ist in cronjobs nicht verfübar. Ein script das Du per cronjob aufrufst, kann also nicht wissen wo ein Programm liegt. Erstellst Du also ein Shell script welches eine Befehlszeile:

php .....

beinhaltet, so kann das per cron unter Linux nicht funktionieren. Du musst für alle Befehle den vollständigen Pfad zum Binary angeben, also z.B. /usr/bin/php und nicht nur "php".

Unabhängig von den obigen Bemerkungen, wenn Du sowieso nur ein PHP Script aufrufen möchtest, dann macht man das am einfachsten über die URL, slao: http://www.domain.tld/misc/mail.php
 
#3
Danke schonmal für deinen Tip, ist schon sehr lange her wo ich mich das letzte mal mit cronjobs beschäftigt habe...

werde das gleich mal ausprobieren.

Die lösung das script per url auszuführen ist später dann leider nicht mehr möglich da es dann nicht mehr übers web erreichbar ist.


melde mich gleich wieder ;)
 
#4
so noch einmal. ich habe jetzt in der mail.sh folgendes stehen:

/usr/bin/php5 -q /var/www/clients/client_5/web_24/web/misc/mail.php

und trotzdem ändert sich nichts an der lage :(
 
#5
hab jetzt direkt beim cron anlegen folgendes eingetragen und dann gings plötzlich..

/usr/bin/php5 -q /var/www/clients/client_5/web_24/web/misc/mail.php
 

Werbung