Cron Fehlerlog

Hi

Ich hab bei meinem Server (SuSE 9.1; PLESK 7.5) über Plesk einen Cronjob eingerichtet.
Wenn ich den Befehl dieses Cronjobs in der Shell (SSH) ausführe, klappt alles fehlerfrei, aber über Plesk scheint es nicht zu funktionieren. Ein anderes (einfacheres) Skript als Cronscript funktioniert jedoch - also muss es am Script liegen. Das Script bringt ja normalerweise eine Interpreter-Fehlermeldung auf den Bildschirm, wenn etwas nicht funktioniert. Wie kann ich diese Fehlermeldung auslesen, wenn das Script als Cronjob läuft? Kann ich irgendwo einstellen, wo die Scriptausgabe abgespeichert wird? Oder gibt es irgendwo eine feste Logdatei für die Cronjobs?

Meiner Vermutung nach liegt das Problem darin, dass es im falschen Verzeichnis ausgeführt wird (es handelt sich um ein PHP-Script, dass per CLI - also per direktem Aufruf aus der Kommandozeie - ausgeführt wird. Wenn es aus dem falschen Verzeichnis ausgeführt wird, stimmen die Include-Paths nichtmehr). Kann ich irgendwie einstellen, in welchem Verzeichnis ein Cronjob ausgeführt wird?

Danke schonmal für eure Hilfe!

cu, Heinzi
 
1)
schau ins /var/log verzeichnis.
Fuer die logs von cron.

Um das loggen deiner scriptausgaben musst du dich selber kuemmern (>, >>, |)


2)
Fuer das script kannst du entweder

- absolute pfade verwenden
- Umgebungsvariablen der shell
- oder die scriptausfuehrung (mit cd etc..) in ein shellsctip packen, welches du dann ueber cron anstartest.



mfg
 
ich hab's jetzt über das Shellscript realisiert, da ich den PHP-Code Serverunabhängig halten wollte
Danke für deine Hilfe :)

edit:

hm - da tut sich schon das nächste Problem auf...der Cronjob startet mein Bashscript nicht oO
zuerst dachte ich, es läge daran, dass er die Ausführen-Rechte nicht habe, aber die Rechte waren -rwx--x--x, womit es ja klappen müsste. Sicherheitshalber habe ich die Datei noch dem Benutzer zugeschrieben, der laut Plesk die Cronjobs ausführt (chown & chgrp).
Klappt trotzdem nicht. Wenn ich die Scripts manuell ausführe, klappt es allerdings.
Ich habe auch schon versucht, im Cronjob (statt nur dem Dateipfad des Shellscripts) 'bash ' und dann den Dateinamen als Befehl einzustellen. Klappt trotzdem nicht.
Woran könnte das noch liegen?
 
Zurück
Oben