tomcat脚本 放到根目录下 ./tomcat instanceName start 启动 ./tomcat instanceName stop 结束

#!/bin/bash

script_name=$0
InstanceName=$1
operate=$2
#tomcat部署路径
TOMCAT_HOME=/home/channelfone/apache-tomcat-8.5.34
#tomcat多实例部署路径
APPS_PATH=apps

#MEMORY_CONF=" -server -Xms64m -Xmx128m -XX:PermSize=16m -XX:MaxPermSize=64m -XX:MaxNewSize=64m"
#export CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9991"

#export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64

usage()
{
   echo ""
   echo "Usage: $script_name InstanceName {start|stop|restart|status} [ Tomcat service options ]"
   echo "Example: $script_name BaikuPassportV2 start"
   echo ""
   exit 1
}
#检查实例是否存在
Instance=`ls -l "$TOMCAT_HOME/$APPS_PATH"|sed '1d'|awk '{print $NF}'|grep "$1"`

   if [ ! -n "$InstanceName" ] && [ ! -n "$operate" ]
     then
       usage
     else
       if [ "$InstanceName" != "$Instance" ]
         then
           echo "$InstanceName don't exist,Please retry!"
           exit 1
       fi
   fi

getPID()
{
PID=`ps -ef |grep -v 'grep'|grep "home/channelfone/"|grep "/$InstanceName/"|grep tomcat|awk '{print $2}'`
}

getMem()
{
MemSize=`grep -ai "$InstanceName" runCache.conf|awk -F= '{print $2}'`
MEMORY_CONF="-server -Xms"$MemSize"m -Xmx"$MemSize"m -XX:MaxNewSize=`expr $((MemSize)) / 2`m -XX:PermSize=128m -XX:MaxPermSize=512m"
}
TomcatStart()
{
  getPID
  getMem
  if [ ! -n "$PID" ]
    then
      export CATALINA_HOME="$TOMCAT_HOME"
      export CATALINA_BASE="$CATALINA_HOME/$APPS_PATH/$InstanceName"
      export JAVA_OPTS="$MEMORY_CONF"
      bash $CATALINA_HOME/bin/startup.sh > /dev/null 2>&1
      echo -n "Starting Tomcat"
      tomcatStatus=1
      while [[ $tomcatStatus == 1 ]]
         do
         netstat -an|grep "$PORT" > /dev/null 2>&1
         if [ $? == 0 ]
           then
             echo -e "\033[32m "[OK]" \033[0m"
             exit 1
           else
             echo -n "."
             sleep 1
           fi
      done
    else
      echo "$PID"
      echo "$InstanceName(pid:$PID) has already running..."
  fi
}

TomcatStop()
{
  getPID
  if [ ! -n "$PID" ]
    then
      echo "$InstanceName is not running..."
    else
#      export CATALINA_HOME="$TOMCAT_HOME"
#      export CATALINA_BASE="$CATALINA_HOME/$APPS_PATH/$InstanceName"
#
#      bash $CATALINA_HOME/bin/shutdown.sh > /dev/null 2>&1
      echo -n "Stopping Tomcat"
      kill -9 $PID
      tomcatStatus=1
      while [[ $tomcatStatus == 1 ]]
       do
       getPID
       if [ ! -n "$PID" ]
         then
           echo -e "\033[32m "[OK]" \033[0m"
           exit 1
       else
           echo -n "."
           sleep 1
       fi
      done
  fi
}

TomcatStatus()
{
  getPID
  if [ ! -n "$PID" ]
    then
      echo "$InstanceName is not running..."
    else
      echo "$InstanceName(pid:$PID) is running..."
  fi
}

case "$operate" in 
       start )
         TomcatStart
    ;;
       stop )
         TomcatStop
    ;;
       restart )
        TomcatsStop
        TomcatsStart
        ;;
       status )
         TomcatStatus
    ;;
       * )
         usage
    ;;
esac
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值