Created
August 16, 2013 12:28
-
-
Save mughilanand/6249469 to your computer and use it in GitHub Desktop.
Tomcat startup/shutdown script for instances behind proxy.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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