Fog Creek Software
Discussion Board




Starting an application on boot up

I have Tomcat running on a linux server - is there a way I can make the Tomcat start-up automatically when the Linux server is powered on and off?

Nibble
Wednesday, June 23, 2004

http://www.spaceprogram.com/knowledge/tomcat_init_d.html

Benji Smith
Wednesday, June 23, 2004

Here's my httpd startup at work.  My home system is tweaked out quite a bit:


#!/bin/bash
#
# Startup script for the Apache Web Server
#
# This is the startup script for the Jakarta Tomcat Application Server which is
#  currently hosting the Scarab Issue Tracking System.
export JAVA_HOME="/usr/java/j2sdk1.4.2_04/";

# Source function library.
. /etc/rc.d/init.d/functions

if [ -f /etc/sysconfig/httpd ]; then
        . /etc/sysconfig/httpd
fi

# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=""

# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/sbin/apachectl
httpd=/usr/sbin/httpd
prog=httpd
RETVAL=0

# check for 1.3 configuration
check13 () {
    CONFFILE=/etc/httpd/conf/httpd.conf
    GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
    GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
    GONE="${GONE}AccessConfig|ResourceConfig)"
    if grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
        echo
        echo 1>&2 " Apache 1.3 configuration directives found"
        echo 1>&2 " please read /usr/share/doc/httpd-2.0.40/migration.html"
        failure "Apache 1.3 config directives test"
        echo
        exit 1
    fi
}

# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure.  So we just do it the way init scripts
# are expected to behave here.
start() {
        echo -n $"Starting Tomcat/Scarab"
        cd /home/apps/scarab/target/
        ./scarab.sh &
        echo -n $"Starting $prog: "
        check13 || exit 1
        daemon $httpd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/httpd
        return $RETVAL
}
stop() {
        echo -n $"Stopping Tomcat/Scarab"
        cd /home/apps/scarab/target/bin/
        ./shutdown.sh
    echo -n $"Stopping $prog: "
    killproc $httpd
    RETVAL=$?
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
}
reload() {
    echo -n $"Reloading $prog: "
    check13 || exit 1
    killproc $httpd -HUP
    RETVAL=$?
    echo
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
        status $httpd
    RETVAL=$?
    ;;
  restart)
    stop
    start
    ;;
  condrestart)
    if [ -f /var/run/httpd.pid ] ; then
        stop
        start
    fi
    ;;
  reload)
        reload
    ;;
  graceful|help|configtest|fullstatus)
    $apachectl $@
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
    exit 1
esac

exit $RETVAL

KC
Wednesday, June 23, 2004

rc-update add tomcat default

/raving Gentoo maniac

joev
Thursday, June 24, 2004

*  Recent Topics

*  Fog Creek Home