#!/bin/bash
# Apache Tomcat daemon
# chkconfig: 345 10 10
# description: Apache Tomcat daemon
# processname: tomcat
#定義JAVA_HOME
export JAVA_HOME=/app/jdk1.8
#定義多個tomcat的總目錄,/app/tomcatserver目錄下有tomcat6001,tomcat7001,tomcat8001,tomcat9001 四個tomcat實例。
tom="/app/tomcatserver/tomcat"
#定義啟動腳本路徑
startup_bin="bin/startup.sh"
#定義tomcat的啟動方式,啟動方式為tomcat.sh p1 start類似的命令
usage="{p1 args |p2|p3|all} {start|stop|restart|status}"
dev="/dev/null"
#定義如何啟動tomcat,在此我們是通過個數(shù)tomcat以及前面定義的tomcat的命令,來操作tomcat
#judge $1 $2 whether null
if [ "$1" == "" -o "$2" == "" ];then
echo "Usage: $0 $usage"
exit 1
fi
#judge $1
case $1 in
"p1")
tomcats=$2
;;
"p2")
tomcats="6001 7001"
;;
"p3")
tomcats="6001 7001 8001"
;;
"all")
tomcats="6001 7001 8001 9001"
;;
# *)
# echo "Usage: $0 $usage"
#;;
esac
#定義tomcat的啟動
#define start function
tomcatstart() {
for i in $tomcats
do
tom_home="$tom$i"
run_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom_home}")
if [ "${run_status}X" != "X" ];then
echo "tomcat$i is already running…"
else
${tom_home}/${startup_bin} &>$dev
echo "tomcat$i starting,Please wait 2s…"
sleep 2
fi
done
}
#定義tomcat的關(guān)閉
#define stop function
tomcatstop() {
for j in $tomcats
do
tom1_home="$tom$j"
tomcat_pid=$(ps -ef | grep ${tom1_home} | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $2}')
if [ "${tomcat_pid}X" == "X" ];then
echo "tomcat$j is not running…"
else
kill -9 ${tomcat_pid} & >$dev
echo "tomcat$j stopping,Please wait 1s…"
sleep 1
echo "delte tomcat$j cache,Please wait 1s…"
rm -rf ${tom1_home}/work/*
fi
done
}
#定義tomcat的重啟
#define restart function
tomcatrestart() {
for m in $tomcats
do
tom2_home="$tom$m"
run2_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom2_home}")
if [ "${run2_status}X" == "X" ];then
echo "tomcat$m is not running…"
${tom2_home}/${startup_bin} &>$dev
echo "tomcat$m starting,Please wait 2s…"
sleep 2
else
ps -ef | grep ${tom2_home} | grep "org.apache.catalina.startup.Bootstrap start" | awk '{printf $2}'| xargs kill -9 >$dev
echo "tomcat$m stopping,Please wait 2s…"
sleep 1
${tom2_home}/${startup_bin} &>$dev
echo "tomcat$m starting,Please wait 2s…"
sleep 2
fi
done
}
#定義tomcat的狀態(tài)
#define status function
tomcatstatus() {
for n in $tomcats
do
tom3_home="$tom$n"
run3_status=$(ps -ef | grep -v 'grep' | egrep "java.*=${tom3_home}")
if [ "${run3_status}X" == "X" ];then
echo "tomcat$n is not running…"
else
echo "tomcat$n is running"
fi
done
}
#judge $2 $3
if [ "$3" == "" ];then
case $2 in
"start")
tomcatstart
;;
"stop")
tomcatstop
;;
"restart")
tomcatrestart
;;
"status")
tomcatstatus
;;
*)
echo "Usage: $0 $usage"
;;
esac
else
case $3 in
"start")
tomcatstart
;;
"stop")
tomcatstop
;;
"restart")
tomcatrestart
;;
"status")
tomcatstatus
;;
*)
echo "Usage: $0 $usage"
;;
esac
fi
管理tomcat單機多實例腳本
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Tomcat官網(wǎng)官網(wǎng)多實例配置說明1、 官網(wǎng)下載 Tomcat 解壓版。 目錄結(jié)構(gòu):bin (運行腳本)conf ...
- 至少10年了,沒在一線玩過 Tomcat 了,這次客戶現(xiàn)場就來了一場遭遇戰(zhàn)。雖然客戶說了他來搭建,但是項目進(jìn)度不等...
- “我會和絕大多數(shù)的普通人一樣,過完普通的一生吧。” 老徐,普通的農(nóng)村家庭出生,跟普通的孩子一樣有著泥巴和藤條的童年...