Skip to content

Instantly share code, notes, and snippets.

@mughilanand
Created August 16, 2013 12:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mughilanand/6249469 to your computer and use it in GitHub Desktop.
Save mughilanand/6249469 to your computer and use it in GitHub Desktop.
Tomcat startup/shutdown script for instances behind proxy.
#!/bin/bash
#Tomcat Startup and Shutdown Script for Instances Behind Proxy Server
#Created By Mughil Anand Nainar
exit_usage ()
{
USAGE="Usage: $1 { start | stop | version } $2 (linux) $3 ( instance0 | instance1 )"
echo "${USAGE}"
exit 1
}
general_env_setup ()
{
cat /dev/null
PROXY_HOST=ip-address
PROXY_PORT=port
EXCLUDE_PROXY='hostname1|hostanme2'
}
general_instance_env_setup ()
{
NLS_LANG="Language"
CATALINA_BASE=/usr/local/tomcat/instance0
JAVA_OPTS="-server -Dapp.log.environment=hostname1 -Xmx4096M -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+PrintGCDateStamps -Xloggc:/var/log/tomcat/gc.log -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsun.lang.ClassLoader.allowArraySyntax=true -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
JAVA_OPTS="${JAVA_OPTS} -Dhttp.proxyHost=${PROXY_HOST} \
-Dhttp.proxyPort=${PROXY_PORT} -Dhttp.nonProxyHosts=${EXCLUDE_PROXY}"
JAVA_OPTS="${JAVA_OPTS} -Dhttps.proxyHost=${PROXY_HOST} \
-Dhttps.proxyPort=${PROXY_PORT} -Dhttps.nonProxyHosts=${EXCLUDE_PROXY}"
CLASSPATH="$JAVA_HOME"/lib/tools.jar
export CATALINA_BASE JAVA_OPTS CLASSPATH NLS_LANG
}
if [ $# -ne 3 ]; then
echo "Wrong number of arguments"
exit_usage
fi
general_env_setup
ENV=$2
general_instance_env_setup
STARTUP_OPTS=
case "${ENV}" in
linux)
JAVA_HOME=/usr/local/java/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
TOMCAT_HOME=/usr/local/tomcat/instance0
;;
*)
echo "Unconfigured Environment"
exit_usage
;;
esac
cd ${CATALINA_BASE}/temp
case "$1" in
start)
if [ " $3 " == " instance0 " ];
then
echo -n "Starting Tomcat INSTANCE 0: "
echo ""
export JAVA_OPTS="${JAVA_OPTS} -Dlog.home=/usr/local/tomcat/$3/logs"
export CATALINA_BASE="/usr/local/tomcat/instance0"
${TOMCAT_HOME}/bin/startup.sh ${STARTUP_OPTS}
elif [ " $3 " == " instance1 " ]
then
echo -n "Starting Tomcat INSTANCE 1: "
echo ""
export JAVA_OPTS="${JAVA_OPTS} -Dlog.home=/usr/local/tomcat/$3/logs"
export CATALINA_BASE="/usr/local/tomcat/instance1"
${TOMCAT_HOME}/bin/startup.sh ${STARTUP_OPTS}
else
echo " Unconfigured Tomcat Instance "
exit_usage
fi
echo "."
;;
stop)
if [ " $3 " == " instance0 " ];
then
echo -n "Stopping Tomcat INSTANCE 0: "
echo ""
export CATALINA_BASE="/usr/local/tomcat/instance0"
${TOMCAT_HOME}/bin/shutdown.sh
sleep 5
pid=$(echo `ps aux | grep "[t]omcat/$3/logs" | awk '{print $2}'`)
if [ -n "$pid" ];
then
kill -9 $pid
fi
echo -n " Successfully Stopped Tomcat $3 "
elif [ " $3 " == " instance1 " ]
then
echo -n "Stopping Tomcat INSTANCE 1: "
echo -n ""
export CATALINA_BASE="/usr/local/tomcat/instance1"
${TOMCAT_HOME}/bin/shutdown.sh
sleep 5
pid=$(echo `ps aux | grep "[t]omcat/$3/logs" | awk '{print $2}'`)
if [ -n "$pid" ];
then
kill -9 $pid
fi
echo -n " Successfully Stopped Tomcat $3 "
else
echo " Unconfigured Tomcat Instance "
exit_usage
fi
echo "."
;;
version)
${TOMCAT_HOME}/bin/version.sh
;;
*)
echo " Unconfigured Service "
exit_usage
;;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment