tomcat 多实例启动脚本

tomcat 多实例启动脚本


代码如下:

#!/bin/sh

#
# Tomcat start/stop shell multiple instances
#

JAVA_HOME=/usr/local/jdk1.7.0_25
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar
PATH=$PATH:$JAVA_HOME/bin

PATH_PARENT=`dirname $0`
cd $PATH_PARENT

CATALINA_HOME=/usr/local/tomcat_cluster/base_tomcat
CATALINA_BASE=`pwd`/$1

print_help() {
    echo "Usage: $0 {CATALINA_BASE} {start|stop|restart|status}";
}

if [ $# -le 0 ]; then
    print_help
    exit
fi

if [ ! -d $CATALINA_BASE ]; then
    echo "directory [$1] is not existed."
    echo "CATALINA_BASE: $CATALINA_BASE"
    echo ""
    exit
fi

export JAVA_HOME CLASSPATH PATH CATALINA_BASE CATALINA_HOME
#env JAVA_HOME="$JAVA_HOME" PATH="$PATH" CATALINA_BASE="$CATALINA_BASE" CATALINA_HOME="$CATALINA_HOME" $CATALINA_BASE/bin/startup.sh

_LINE="========================================="
echo "$_LINE"
echo "Envirement Detail: "
echo -e "JAVA_HOME\t$JAVA_HOME"
echo -e "CLASSPATH\t$CLASSPATH"
echo -e "PATH\t\t$PATH"
echo -e "CATALINA_HOME\t$CATALINA_HOME"
echo -e "CATALINA_BASE\t$CATALINA_BASE"
echo "$_LINE"

case $2 in
    start)
        echo "starting the tomcat instance [$1]"
        exec su root -c "$CATALINA_HOME/bin/catalina.sh start"
    ;;
    stop)
        echo "stopping the tomcat instance [$1]"
        $CATALINA_HOME/bin/catalina.sh stop
    ;;
    restart)
        echo "restart the tomcat instance [$1]"
        sleep 1
    ;;
    status)
        #echo "tomcat instance [$1] is running/stopped"
        pid=`ps aux | grep /$1/ | grep -v grep | awk '{print $2}'`
        if [ -z $pid ]; then
            echo "instance [$1] is stopped..."
            exit
        fi

        echo "tomcat instance [$1] is running: "
        ps aux | grep /$1/ | grep -v grep
        netstat -napl | grep java | grep $pid
    ;;
    *)
        print_help ''
    ;;
esac

#$CATALINA_HOME/bin/catalina.sh start


你可能感兴趣的:(tomcat 多实例启动脚本)