zhmg23

我们是如此的不同

Linux下批量停止、启动tomcat的方法

因项目需要,一个系统下,需要部署多个tomcat,有时在部署时,反复停止、启动tomcat很累人,而且效率极慢,为了节约时间,记录下如何快速停止、启动多个tomcat

1、Linux下批量停止多个tomcat

ps aux |grep tomcat |grep -v grep |awk '{print $2}' |xargs kill -9

注意:此命令会把系统所有tomcat全部署干掉,使用时,小心误伤!


2、Linux下批量启动多个tomcat

说明:我的tomcat是部署在/data/tomcat/tomcat{8080..8082}

/data

└── tomcat

    ├── start_tomcat.sh

    ├── tomcat_8080

    ├── tomcat_8081

    └── tomcat_8082

通过下面shell脚本,来批量启动tomcat,把这些小猫猫全部拉起来。

#!/bin/bash
#JDK路径
export JAVA_HOME="/usr/lib/jvm/java8"
#前缀路径
PREFIX="/data/tomcat/tomcat_"

#起始编号
BEGIN=8080

#终止编号
END=8082

#关闭
stop(){
for((i=$BEGIN;i<=$END;i++))
do
#抽取Tomcat进程号PID
pid=`ps -ef | grep tomcat$i |grep -v 'grep' | awk '{print $2}'`
#测试当前进程是否处于活动状态
test "$pid" != "" && kill $pid && echo "Stop Tomcat$i Successful!" || echo "Stop Tomcat$i Failed!"
done

echo
}

#启动
start(){
for((i=$BEGIN;i<=$END;i++))
do
#启动Tomcat
$PREFIX$i/bin/startup.sh && echo "Start Tomcat$i Successful!"
echo
done
}

#状态
status(){
for((i=$BEGIN;i<=$END;i++))
do
#抽取Tomcat进程号PID
pid=`ps -ef | grep tomcat$i |grep -v 'grep' | awk '{print $2}'`
#打印PID
echo "Tomcat$i - $pid"

done
}

case "$1" in
start)
echo "Start Tomcat$BEGIN ~ Tomcat$END"
echo
start
echo
;;
stop)
echo "Stop Tomcat$BEGIN ~ Tomcat$END"
echo
stop
echo
;;
restart)
echo "Restart Tomcat$BEGIN ~ Tomcat$END"
echo
stop
start
echo
;;
status)
echo "Pid of Tomcat$BEGIN ~ Tomcat$END"
status
echo
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac

编写完上面的脚本后,保存退出,给权限,然后执行启动

# chmod 755 start_tomcat.sh

# ./start_tomcat.sh start 

Start Tomcat8080 ~ Tomcat8082


Using CATALINA_BASE:   /data/tomcat/tomcat_8080

Using CATALINA_HOME:   /data/tomcat/tomcat_8080

Using CATALINA_TMPDIR: /data/tomcat/tomcat_8080/temp

Using JRE_HOME:        /usr/lib/jvm/java8/jre

Using CLASSPATH:       /data/tomcat/tomcat_8080/bin/bootstrap.jar:/data/tomcat/tomcat_8080/bin/tomcat-juli.jar

Tomcat started.

Start Tomcat8080 Successful!


Using CATALINA_BASE:   /data/tomcat/tomcat_8081

Using CATALINA_HOME:   /data/tomcat/tomcat_8081

Using CATALINA_TMPDIR: /data/tomcat/tomcat_8081/temp

Using JRE_HOME:        /usr/lib/jvm/java8/jre

Using CLASSPATH:       /data/tomcat/tomcat_8081/bin/bootstrap.jar:/data/tomcat/tomcat_8081/bin/tomcat-juli.jar

Tomcat started.

Start Tomcat8081 Successful!


Using CATALINA_BASE:   /data/tomcat/tomcat_8082

Using CATALINA_HOME:   /data/tomcat/tomcat_8082

Using CATALINA_TMPDIR: /data/tomcat/tomcat_8082/temp

Using JRE_HOME:        /usr/lib/jvm/java8/jre

Using CLASSPATH:       /data/tomcat/tomcat_8082/bin/bootstrap.jar:/data/tomcat/tomcat_8082/bin/tomcat-juli.jar

Tomcat started.

Start Tomcat8082 Successful!


然后浏览一下tomcat默认页面,打开全部正常,以上就为Linux下批量停止、启动tomcat的方法,以作备忘!

Linux下批量停止、启动tomcat的方法 - zhm - 合肥运维

 

评论