Page 1 of 1

Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:06
by TDS
Mein Crontab:

Code: Select all

*/1 * * * *	root /home/tds/tdk/webapps/heartbooker/cron.sh &> /cron1.info &
Mein Shell-Script:

Code: Select all

#!/bin/sh

if [ "$UID" != 0 ]; then
 echo "error: You must be root to use this program!"
 exit 1
fi

wget http://sydney:8080/heartbooker/servlet/heartbooker/template/CronJob.vm &> /cron2.info &
Was ist falsch?

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:14
by captaincrunch
1. In welche crontab hast du das ganze eingebaut?
2. Wozu schickst du die Prozesse im Cronjob per "&" in den Hintergrund?
3. Wieso benutzt du keine absoluten Pfade im Script?

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:17
by TDS
CaptainCrunch wrote:1. In welche crontab hast du das ganze eingebaut?
/etc/crontab
CaptainCrunch wrote:2. Wozu schickst du die Prozesse im Cronjob per "&" in den Hintergrund?
Nun ja, die Ausgabe wird ja zu Testzwecken in /cron1.inf und /cron2.info umgeleitet.
CaptainCrunch wrote:3. Wieso benutzt du keine absoluten Pfade im Script?
wo?

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:20
by captaincrunch
Nun ja, die Ausgabe wird ja zu Testzwecken in /cron1.inf und /cron2.info umgeleitet.
Ich rede aber vom zweiten "&". ;)
wo?
s#wget#/usr/bin/wget#

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:23
by TDS
Das wget mit URL muss sein das wir Turbine benutzen. Und damit wir einfach auf die DB zugrifen können wird das Script über Turbine aufgerufen. Wenn ich dir cron.sh manuell aufrufe funktioniert es ja...
Soll ich das zwei & wegnehmen. Glaube aber nicht das es damit funktioniert...

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:26
by TDS
CaptainCrunch wrote:
wo?
s#wget#/usr/bin/wget#
Also absolute Pfade in der cron.sh? Habe nun das & entfernt -> funktioniert nicht.

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:32
by captaincrunch
Also absolute Pfade in der cron.sh?
Sage ich dich die ganze Zeit... ;)

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:37
by TDS
So in etwa?
/etc/crontab

Code: Select all

SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin
MAILTO=root
#
# check scripts in cron.hourly, cron.daily, cron.weekly, and cron.monthly
#
-*/15 * * * *   root  test -x /usr/lib/cron/run-crons && /usr/lib/cron/run-crons >/dev/null 2>&1
59 *  * * *     root  rm -f /var/spool/cron/lastrun/cron.hourly
14 4  * * *     root  rm -f /var/spool/cron/lastrun/cron.daily
29 4  * * 6     root  rm -f /var/spool/cron/lastrun/cron.weekly
44 4  1 * *     root  rm -f /var/spool/cron/lastrun/cron.monthly

# m h dom mon dow user cmd
*/1 * * * *	root /home/tds/tdk/webapps/heartbooker/cron.sh &> /cron1.info
cron.sh

Code: Select all

#!/bin/sh

if [ "$UID" != 0 ]; then
 echo "error: You must be root to use this program!"
 exit 1
fi

/usr/bin/wget http://sydney:8080/heartbooker/servlet/heartbooker/template/CronJob.vm &> /cron2.info
#>/dev/null 2>&1

Re: Cronjob startet nicht, manuelles Script funktioniert

Posted: 2005-03-30 13:57
by TDS
Shell-Script läuft, Cronjob auch.

Problem: normaler Cronjob hat keine root-Rechte...

Lösung: Ausgabe in ein Verzeichnis wie z.B. Home (~).

PROBLEM

Posted: 2005-04-07 13:31
by TDS
Habe nun probiert die Testversion als Final auf den Server zu schieben. Dort läuft Fedora Core 2. Und nun läuft der Cronjob trotzdem nicht. Wieso? cron.sh schiebt sienen Output nach /tmp. tmp hat die Rechte 777, jeder darf schreibe, ausführen, etc. Was kann falsch sein?