Linux single tomcat multi instance deployment shell script details


Linux single tomcat multi-instance deployment shell script details

Steps:

1. Download tomcat and unzip the installation

2. Copy webapps,conf,temp and other directories under tomcat to A,B and C directories under www

3. Create the following script restart_tomcat.sh

4. Use restart_tomcat.sh A/B/C

#!/bin/sh

if [ -z $1 ]
then
 echo "\033[31;1mplease input the app which you need restart...\033[0m"
 exit 1
fi

base_dir=/Users/huangyunxing/Documents/work/www
if [ ! -d ${base_dir}/$1 ]; then
  echo -e "\033[31;1mcan't find the directory [${base_dir}/$1] or the [${base_dir}/$1] is no a directory, please check it...\033[0m"
  exit 1
fi

if [ ! -f ${base_dir}/$1/conf/server.xml ]; then
  echo -e "\033[31;1mcan't find the file [${base_dir}/$1/conf/server.xml] or the [${base_dir}/$1/conf/server.xml] is not a file, please check it...\033[0m"
  exit 1
fi

if [ ! -d ${base_dir}/$1/webapps ]; then
  echo -e "\033[31;1mcan't find the directory [${base_dir}/$1/webapps] or the [${base_dir}/$1/webapps] is not a directory, please check it...\033[0m"
  exit 1
fi

export CATALINA_BASE=${base_dir}/$1

if [ -f ${CATALINA_BASE}/setenv.sh ];then
 . "${CATALINA_BASE}/setenv.sh"
 echo "=========load setenv.sh finshed========"
fi

res=`ps aux | grep $1|grep "$JAVA_HOME/bin/java"|egrep -v "grep"|awk '{print $2}'`
if [ "$res" == "" ]; then
  echo -e "\033[44;38;1mthe tomcat is not running, begin startup...\033[0m"
else
 echo -e '\033[45;35;1mcurrent running pid is' $res',begin to stopping...\033[0m'
 kill -9 `ps aux | grep $1|grep "$JAVA_HOME/bin/java"|egrep -v "grep"|awk '{print $2}'` && echo -e '\033[45;35;1mtomcat killed successfully\033[0m'
fi



rm -fr $CATALINA_BASE/work/*
rm -fr $CATALINA_BASE/temp/*
${CATALINA_HOME}/bin/catalina.sh jpda start -config ${base_dir}/$1/conf/server.xml && echo -e "\033[44;32;1mTomcat startup finished...\033[0m"
pid=`ps aux | grep $1|grep "$JAVA_HOME/bin/java"|egrep -v "grep"|awk '{print $2}'`
echo -e "\033[46;38;1m new running pid is ${pid}...\033[0m"

Thank you for reading, I hope to help you, thank you for your support of this site!