linux批处理tomcat,Tomcat批量控制——基于Linux系统服务脚本

貌似,最近整理的都是Linux下的服务控制。

一只Tomcat不算什么,搞搞JSVC,做做系统服务没有什么难度。但要控制一群小猫(Tomcat)依次起床(Startup)、睡觉(Shutdown)呢?这就得花点功夫了!

用JSVC,依次启动一堆服务,还不能保证正常Shutdown,或者不能正常Startup。与其这样,不如Kill小猫。总之,我们都是用猫群,Kill掉后,我们召唤就是了!呵呵!

言归正传,启动不用说了,就是简单执行启动脚本。至于说停止,安全起见最好是kill掉对应的进程!为了查看当前状态,我们可以看看对应的PID!

#!/bin/bash

#JDK路径

export JAVA_HOME="/usr/local/jdk"

#前缀路径

PREFIX="/opt/servers/tomcat"

#起始编号

BEGIN=1

#终止编号

END=5

#关闭

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

这里我们需要批量重启Tomcat1~Tomcat5,根据服务器硬件配置,我们理论上可以配置14~16只小猫,当然要看你的服务器CPU、内存相应的配置信息!

这些Tomcat位于

/opt/servers/目录下。

我们要依次启动Tomcat1~Tomcat5,因此设定了

BEGIN 跟

END 两个变量,加上

PREFIX 就锁定到具体的tomcat目录,譬如:

/opt/servers/tomcat1

产生这么一个Shell脚本,比如就叫

tomct,拷贝到

/etc/init.d/下,并赋予755权限。

现在,你可以:

启动:service tomcat start

停止:service tomcat stop

重启:service tomcat restart

查看:service tomcat status

其实,就这么简单!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值