[plug] How to set 'global' environment variables at boot time?

Jason Nicholls jason at mindsocket.com.au
Wed Sep 12 01:04:51 WST 2012

Hey Fred,

I had a similar requirement to make a generic init script for a tomcat
application which could be installed anywhere on the filesystem and even
multiple copies.

In the end I created an init script that lived within the installed
location and symlinked to it from /etc/init.d/<service_name>

Within the init script I get my install directory by running (in this case
the init script lives in <tomcat_dir>/server/bin/helpers):

INSTALL_DIR=`dirname $(readlink -f $0) | sed 's/\/server\/bin\/helpers//'`

The next thing I do in the init script is read in the environment for this
instance of tomcat, e.g.

if [ -f $INSTALL_DIR/server/bin/setenv.sh ]; then
    . $INSTALL_DIR/server/bin/setenv.sh

The setenv.sh can contain anything required for this specific instance,
e.g. java home, catalina home, java mem params etc...

Initially I had it configured to use something in /etc/defaults but I had
to abstract things out to work with multiple installs on the same host plus
support multiple flavours of Linux and other commercial UNIXes. The init
scripts differ a bit but all come back to that setenv...

On Wed, Sep 12, 2012 at 12:42 AM, Fred Janon <fjanon at yahoo.com> wrote:

> Hi,
> I am working on a script to start Tomcat on a CentOS like OS (AWS EC2
> Linux).
> I need to configure a 'global' environment variable in the system that is
> set when the system boots and before the tomcat scripts executes to start
> the service. I did some research on z InnerNet and tried quite a few things
> with no success.
> Basically I need to set and export the environment variable with a path
> ($CATALINA_HOME), maybe from /etc/profile?, and then read it from another
> script at boot time. Also how do I read and display the variable from the
> script to verify it is set properly?
> All the scripts I've seen hard code the path, which I want to avoid.
> Any suggestion?
> Thanks
> Fred
> _______________________________________________
> PLUG discussion list: plug at plug.org.au
> http://lists.plug.org.au/mailman/listinfo/plug
> Committee e-mail: committee at plug.org.au
> PLUG Membership: http://www.plug.org.au/membership

Jason Nicholls
jason at mindsocket.com.au
0430 314 857
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plug.org.au/pipermail/plug/attachments/20120912/0ea1496a/attachment.html>

More information about the plug mailing list