problems with init.d script via cron

Jason Joines joines
Tue Aug 24 10:19:33 PDT 2004


Bill Campbell wrote:

>On Mon, Aug 23, 2004, Jason Joines wrote:
>  
>
>>	I have an init.d script that works fine interactively.  That is I 
>>	can use it to start, stop, restart, etc., the service via 
>>	"/etc/init.d/scriptname arguments" from a command prompt.  However, 
>>	it fails when run from cron.
>>
>>	It has these variables and start line:
>>CONFIGDIR=/etc/rembo
>>CONFIGFILE=rembo.conf
>>BINDIR=/opt/rembo
>>BINFILE=rembo
>>startproc $BINDIR/$BINFILE -v 4 -c $CONFIGDIR/$CONFIGFILE
>>
>>	I need to have cron restart this service nightly after some files 
>>	are updated.  When I try to have cron do it the start line generates 
>>	this error:
>>cannot stat `/etc/rembo/.conf': No such file or directory
>>
>>	Looks like it's dropping the part between the front slash and the 
>>	period.  I've tried all sorts of quotations and such but no luck so 
>>	far.  Any ideas how to make this behave?
>>    
>>
>
>This type of problem is almost always due to missing environment variables
>that are set in the shell, but not in the cron environment.
>
>You may be able to identify the problem by comparing the shell
>environment with the cron environment.  At the shell prompt
>enter ``env | sort > /tmp/env.shell'', then add a line at the
>beginning of the cron script ``env | sort > /tmp/env.cron'', and
>finally compare the /tmp/env.shell and /tmp/env.cron files to see
>what's missing from /tmp/env.cron.
>
>Bill
>--
>INTERNET:   bill at Celestial.COM  Bill Campbell; Celestial Software LLC
>UUCP:               camco!bill  PO Box 820; 6641 E. Mercer Way
>FAX:            (206) 232-9186  Mercer Island, WA 98040-0820; (206) 236-1676
>URL: http://www.celestial.com/
>
>``Guns are no more responsible for killing people than the spoon is
>responsible for making Rosie O'Donnell fat.''
>_______________________________________________
>Linux-users mailing list
>Linux-users at linux-sxs.org
>http://mail.linux-sxs.org/cgi-bin/mailman/listinfo/linux-users
>  
>

    Thanks, that was a good idea.  env.cron was almost completely empty 
as compared to env.shell.  Not sure exactly what all needs to be present 
in the cron environment but adding ". /etc/profile" to the beginning of 
my script fixed the problem and I can work backward from there.

Jason
=================================


More information about the Linux-users mailing list