`

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,因此设定了BEGINEND 两个变量,加上 PREFIX 就锁定到具体的tomcat目录,譬如:/opt/servers/tomcat1

产生这么一个Shell脚本,比如就叫tomct,拷贝到/etc/init.d/下,并赋予755权限。

现在,你可以:

启动:service tomcat start

停止:service tomcat stop

重启:service tomcat restart

查看:service tomcat status

其实,就这么简单!
3
7
分享到:
评论
3 楼 jing981111 2015-12-15  
关闭的时候容易误杀其他的tomcat
修改成
pid=`ps -ef | grep  $PREFIX$i |grep -v 'grep' |  awk '{print $2}'`
2 楼 gdweijin 2012-10-04  
博主总结的都是干货啊!
1 楼 sawen21 2011-03-17  
这个脚本管理一台服务器上多个tomcat很是管用, 另外推荐screen工具查看不同server日志,很是方便

相关推荐

Global site tag (gtag.js) - Google Analytics