Hallo. Von: Adalbert Michelic [mailto:adalbert+list@lopez.at]
* On Wed, 21 Jan 2004 at 17:51 +0100, NiX - Erich Troxler wrote:
Ich habe ein PHP-Skript, dass per Cronjob regelmässig gewisse Daten in eine MySQL-Datenbank importieren muss. Dieses Skript wird einmal pro Tag ausgeführt.
Nun ist es aber so, dass ein Teil dieses Skriptes (FTP Up/Download auf einen anderen Server) per Cronjob nicht funktioniert. Wenn ich das Skript aber per SSH angemeldet laufen lasse (als root) funktioniert alles. Nur beim Cronjob nicht, der ebenfalls als root läuft.
Rufst Du aus dem Job aus die Programme mit dem vollen Pfad auf?
Ja, so: 15 4 * * * root /usr/bin/dataimport.cron Und die dataimport.cron: #!/usr/bin/dataimport.cron mysql -u xxxx -pxxxxxxxxx xxxx
Du hast in einem laufenden Job nicht den gleichen Pfad, wie normalerweise auf der Shell "draussen", sondern nur einen eingeschränkten - siehe /etc/crontab, ganz oben.
SHELL=/bin/sh PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin MAILTO=root
Entweder: Im Skript selber per PATH=xxx den Pfad selber setzen, oder einfach vor den Aufrufen den ganzen Pfad zum jeweiligen Programm vorsetzen.
Ist doch bereits gemacht?
Wenn es das nicht war, dann beschreibe bitte ein wenig genauer was nicht passt (z.B. was in der Mail steht, die Dir der cron-Daemon sendet).
In der E-Mail, die ich bekomme ist alles ok. Sogar die PHP Rückmeldungen stimmen. Grüsse, NiX - Erich Troxler.