On 01/07/2012 04:30 PM, Matthew Seaman wrote:
On 07/01/2012 13:57, RW wrote:
On Sat, 07 Jan 2012 15:37:49 +0200
Kaya Saman wrote:

n terms of paths this is what I'm doing: I'm in a FreeBSD jail
logged in by - #jexec<jail>  tcsh

which gets me in as root. Crontab is being run as root so paths
should be the same no?
No -- you can't assume that.  The correct thing to do is to set $PATH
within your script, then it should stand a much improved chance of
running correctly irrespective of how it gets started.  Add a line like
this near the top of the script:

export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin

That should be good enough for most purposes, but feel free to modify if
needed.

Another debugging tip: add

   set -x

or

   set -v -x

towards the top of the script and you'll get a trace of what the script
does e-mailed to you.  (Well, e-mailed to root, but I assume yould've
been reading root's mailbox anyhow, or redirected the root e-mails to
somewhere more useful.)

PATH is set at the top of /etc/crontab
Well, yes.  However that only helps for the scripts run out of
/etc/crontab.  If the OP has done the right thing and left /etc/crontab
alone, but instead set up a root crontab by running

        # crontab -u root -e

then that wouldn't help at all.

        Cheers,

        Matthew



Thanks Matthew!!! :-)


Exporting the PATH variable was the key, although I did add the debugging tip in for good measure.


So luckily all is solved now.



Thanks everyone for all the help and advice!


Best regards,


Kaya
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to