欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux 单个tomcat多实例部署shell脚本详解

程序员文章站 2022-05-30 13:05:05
linux 单个tomcat多实例部署shell脚本详解 步骤: 1. 下载tomcat,解压安装 2.将tomcat下的webapps,conf,temp等目录分别...

linux 单个tomcat多实例部署shell脚本详解

步骤:

1. 下载tomcat,解压安装

2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下a,b,c目录下

3.新建如下脚本restart_tomcat.sh

4.使用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"  

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!