Thanks. My script was sourcing a .bashrc file but part of the path was missing anyway. The stderr was exactly what I needed to figure it out.
On 7/19/05, Gisbert Amm <[EMAIL PROTECTED]> wrote: > Dave wrote: > > Hi - > > > > I have a build system which works fine from the command line, but > > stops mysteriously when I run it from cron. > > > > The build file structure for my application has a master file at the > > top, which calls targets on submodules, some of which have > > sub-submodules. > > > > There's a shell script wrapper which calls the master build.xml file, > > and it runs fine from the command line. > > > > When it runs from cron (after adding the -verbose flag), I see in the > > logs that it get this far in compiling the first of the sub-submodules > > and then exits without any errors: > > > > [javac] Files to be compiled: > > [javac] /path/to/JavaClass1.java > > ... > > [javac] /path/to/JavaClass25.java > > [ant] Exiting /path/to/sub-submodule/build.xml. > > [ant] Exiting /path/to/submodule/build.xml. > > [ant] Exiting /path/to/submodule/build.xml. > > [antcall] Exiting /path/to/master-build.xml. > > [antcall] Exiting /path/to/master-build.xml. > > > > When I run the same shell script from the command line, it gets to the > > same place and then keeps going with the jar task which comes after > > the javac task: > > > > [javac] Files to be compiled: > > [javac] /path/to/JavaClass1.java > > ... > > [javac] /path/to/JavaClass25.java > > jar: > > [echo] making jar files for sub-submodule > > [mkdir] Created dir: /path/to/submodule/lib/classes/META-INF > > [copy] MANIFEST.MF added as MANIFEST.MF doesn't exist. > > ... and so on until it finishes all the modules. > > > > The cron job is set up like this: > > > > 30 2 * * * /path/to/build-and-test.sh > /tmp/cron.log > > > > Any ideas? Thanks! > > It's very likely that the cron unser does not have the same environment > like you when you start your script at the commandline. > > At the moment, you only redirect stdout to your log. You should probably > redirect stderr aswell, as there might be errors indeed. Something like > > 30 2 * * * /path/to/build-and-test.sh > /tmp/cron.log 2>&1 > > Another possibility is to leave out the redirect and have the whole > output of cron mailed to you by adding [EMAIL PROTECTED] at the > beginning of the crontab. > > BTW: I never setup cronjobs between 2 and 3 in the night because that > hour is left out when time is changed to summertime in spring. > > Regards, > Gisbert Amm > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]