CCL Home Page
Up Directory CCL apache-tomcat-jserv.txt
#!/bin/sh
#
# Apache control script designed to allow an easy command line interface
# to controlling Apache.  Written by Marc Slemko, 1997/08/23
# Messed up by Jan Labanowski, 2000/06/12
# 
# The exit codes returned are:
#	0 - operation completed successfully
#	1 - 
#	2 - usage error
#	3 - httpd could not be started
#	4 - httpd could not be stopped
#	5 - httpd could not be started during a restart
#	6 - httpd could not be restarted during a restart
#	7 - httpd could not be restarted during a graceful restart
#	8 - configuration syntax error
#
# When multiple arguments are given, only the error from the _last_
# one is reported.  Run "apachectl help" for usage info
#
#
# |||||||||||||||||||| START CONFIGURATION SECTION  ||||||||||||||||||||
# --------------------                              --------------------
# 
# the path to your PID file
PIDFILE=/usr/local/apache_t3.1/logs/httpd.pid
#
# the path to your httpd binary, including options if necessary
HTTPD=/usr/local/apache_t3.1/bin/httpd
#
# a command that outputs a formatted text version of the HTML at the
# url given on the command line.  Designed for lynx, however other
# programs may work.  
LYNX="lynx -dump"
#
# the URL to your server's mod_status status page.  If you do not
# have one, then status and fullstatus will not work.
STATUSURL="http://localhost/server-status"
#
# --------------------                              --------------------
# ||||||||||||||||||||   END CONFIGURATION SECTION  ||||||||||||||||||||


DATE=`date`

ERROR=0
ARGV="$@"
if [ "x$ARGV" = "x" ] ; then 
    ARGS="help"
fi

for ARG in $@ $ARGS
do
    # check for pidfile
    if [ -f $PIDFILE ] ; then
	PID=`cat $PIDFILE`
	if [ "x$PID" != "x" ] && kill -0 $PID 2>/dev/null ; then
	    STATUS="httpd (pid $PID) running"
	    RUNNING=1
	else
	    STATUS="httpd (pid $PID?) not running"
	    RUNNING=0
	fi
    else
	STATUS="httpd (no pid file) not running"
	RUNNING=0
    fi

    case $ARG in
    start)
	if [ $RUNNING -eq 1 ]; then
	    echo "$0 $ARG: httpd (pid $PID) already running"
	    continue
	fi
        su - webrun2 -c "echo ========START: $DATE ===============>>/tmp/logt3.1-j 2>&1  &"
        su - webrun2 -c '/usr/local/apache_t3.1/bin/jserv_start >>/tmp/logt3.1-j 2>&1  & '
        sleep 5
        su - webrun2 -c "echo ========START: $DATE ===============>>/tmp/logt3.1-t 2>&1  &"
        su - webrun2 -c '/usr/local/apache_t3.1/tomcat/bin/startup.sh >>/tmp/logt3.1-t 2>&1  & '
        sleep 5
	if $HTTPD ; then
	    echo "$0 $ARG: httpd started"
	else
	    echo "$0 $ARG: httpd could not be started"
	    ERROR=3
	fi
	;;
    startssl|sslstart|start-SSL)
	if [ $RUNNING -eq 1 ]; then
	    echo "$0 $ARG: httpd (pid $PID) already running"
	    continue
	fi
        su - webrun2 -c "echo ========START: $DATE ===============>>/tmp/logt3.1-j 2>&1  &"
        su - webrun2 -c '/usr/local/apache_t3.1/bin/jserv_start >>/tmp/logt3.1-j 2>&1  & '
        sleep 5
        su - webrun2 -c "echo ========START: $DATE ===============>>/tmp/logt3.1-t 2>&1  &"
        su - webrun2 -c '/usr/local/apache_t3.1/tomcat/bin/startup.sh >>/tmp/logt3.1-t 2>&1  & '
        sleep 5
	if $HTTPD -DSSL; then
	    echo "$0 $ARG: httpd started"
	else
	    echo "$0 $ARG: httpd could not be started"
	    ERROR=3
	fi
	;;
    stop)
	if [ $RUNNING -eq 0 ]; then
	    echo "$0 $ARG: $STATUS"
	    continue
	fi
        su - webrun2 -c "echo ========STOP: $DATE ===============>>/tmp/logt3.1-t 2>&1  &"
        su - webrun2 -c '/usr/local/apache_t3.1/tomcat/bin/shutdown.sh >>/tmp/logt3.1-t 2>&1  & '
        sleep 5
        su - webrun2 -c "echo ========STOP: $DATE ===============>>/tmp/logt3.1-j 2>&1  &"
        su - webrun2 -c '/usr/local/apache_t3.1/bin/jserv_stop  >>/tmp/logt3.1-j 2>&1  & '
        sleep 5
	if kill $PID ; then
	    echo "$0 $ARG: httpd stopped"
	else
	    echo "$0 $ARG: httpd could not be stopped"
	    ERROR=4
	fi
	;;
    configtest)
	if $HTTPD -t; then
	    :
	else
	    ERROR=8
	fi
	;;
    *)
	echo "usage: $0 (start|stop|configtest|help)"
	cat <.
# 
Modified: Wed Jun 21 03:52:17 2000 GMT
Page accessed 349 times since Tue Mar 15 07:15:34 2005 GMT