[Xymon] Starting Xymon via init script no environment variables
Michael Beatty
Michael.Beatty at sherwin.com
Wed Jan 16 16:44:47 CET 2013
Well... I figured out it has to do with how sudo invokes the
environment. I'm pretty sure there is a parameter I could supply to
sudo to bring in the environment, but it was just as easy to switch from
sudo to su.
I changed my commands to:
su - xymon -c "/home/xymon/client/runclient.sh start"
and it works now.
If anyone who understands this better than me understands why, I would
appreciate an explanation.
Michael Beatty
Sherwin-Williams
IT Analyst/Developer
michael.beatty at sherwin.com
216-515-7374
On 01/16/2013 08:15 AM, Michael Beatty wrote:
> Linux SuSE.
>
>
> #!/bin/bash
> #
> # xymon This starts and stops xymon stuff
> #
> # Author: Michael Beatty
> #
> # description: starts/stops Xymon
> #
> # /etc/init.d/xymon
> #
> ### BEGIN INIT INFO
> # Provides: xymon
> # Required-Start: $local_fs network
> # Should-Start: mqm
> # Required-Stop:
> # Should-Stop:
> # Default-Start:
> # Default-Stop:
> # Description: Xymon client custom startup
> ### END INIT INFO
>
> # Store variables
> . /etc/sysconfig/posvars
> # Source SuSE config
> . /etc/sysconfig/boot
>
> # Shell functions sourced from /etc/rc.status:
> # rc_check check and set local and overall rc status
> # rc_status check and set local and overall rc status
> # rc_status -v ditto but be verbose in local rc status
> # rc_status -v -r ditto and clear the local rc status
> # rc_failed set local and overall rc status to failed
> # rc_failed <num> set local and overall rc status to <num><num>
> # rc_reset clear local rc status (overall remains)
> # rc_exit exit appropriate to overall rc status
> . /etc/rc.status
>
> # First reset status of this service
> rc_reset
>
> # Return values acc. to LSB for all commands but status:
> # 0 - success
> # 1 - generic or unspecified error
> # 2 - invalid or excess argument(s)
> # 3 - unimplemented feature (e.g. "reload")
> # 4 - insufficient privilege
> # 5 - program is not installed
> # 6 - program is not configured
> # 7 - program is not running
> #
> # Note that starting an already running service, stopping
> # or restarting a not-running service as well as the restart
> # with force-reload (in case signalling is not supported) are
> # considered a success.
>
>
> RETVAL=0
>
>
> case "$1" in
> start)
> echo "Staring Xymon Client QMGR = $QMGR"
> /usr/bin/sudo -u xymon /home/xymon/client/runclient.sh start
> rc_status
> ;;
> stop)
> echo "Stopping Xymon Client QMGR = $QMGR"
> /usr/bin/sudo -u xymon /home/xymon/client/runclient.sh stop
> rc_status
> ;;
> restart)
> /usr/bin/sudo -u xymon /home/xymon/client/runclient.sh restart
> rc_status -v
> ;;
> status)
> /usr/bin/sudo -u xymon /home/xymon/client/runclient.sh status
> rc_status
> ;;
> *)
> echo $"Usage: $0 {start|stop|restart|status}"
> exit 1
> ;;
> esac
> rc_exit 0
>
>
>
>
> Michael Beatty
>
> On 01/15/2013 08:03 PM, Jeremy Laidman wrote:
>> What OS? Can you show the init script?
>>
>>
>>
>> On 16 January 2013 06:44, Michael Beatty <Michael.Beatty at sherwin.com
>> <mailto:Michael.Beatty at sherwin.com>> wrote:
>>
>> I've got an init script that is starting up the xymon client. It
>> starts, and runs, however it doesn't appear to have any access to
>> any environment variables. If I restart the client from a shell,
>> it takes off and runs fine. I've got echo statements in the init
>> script to display some of the environment variables I need, and
>> they are displaying fine at boot time. It just seems that xymon
>> doesn't have access to them when it is running. What has me
>> really confused is that I'm even exporting the variable from a
>> file directly from the xymon script.
>>
>> For example, in the init script, I 'echo $HOST' The host name
>> shows up in the log
>> I have a perl script that clientlaunch calls, I have a variable
>> "my $host = $ENV{"HOST"}.
>>
>> I am printing the "HOST" variable out to the log file when the
>> script runs. If I start the xymon client from a shell, the HOST
>> variable prints out. However, it doesn't print out (just a
>> blank) if the xymon client starts via the init script.
>>
>>
>>
>>
>> --
>> Michael Beatty
>>
>> _______________________________________________
>> Xymon mailing list
>> Xymon at xymon.com <mailto:Xymon at xymon.com>
>> http://lists.xymon.com/mailman/listinfo/xymon
>>
>>
>
>
>
>
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20130116/e8ea6be3/attachment.html>
More information about the Xymon
mailing list