shell 启动tomcat 脚本

#!/bin/bash


echo ################开始启动服务############################

#由于我的服务器上有多台tomcat所以选择了一个笨方法用目录的唯一筛选方式获取相应的PID

#(如:目录为apache-tomcat-8030)

array=("8030" "8050" "8060") #定义筛选端口号的唯一表示
echo "tomcat启动脚本您可以选择重新启动或强制关闭所有tomcat服务"
echo "((如果使用此功能请在启动脚本后的输入任意参数,如:./operate.sh 1))。"
echo "如不需要请不要填写任何参数,脚本将自动启动停机tomcat服务。"


#定义变量

tomcatPath=/data/apache-tomcat-    #tomcat安装路径完整目录apache-tomcat-8030


#参数具体说明见read中标注

flag=y
kflag=k


if [ -n "$1" ];then
read -p "您选择了强制重启或强制停止所有服务是否执行,请输入[y重启/n放弃全部重启/k停止所有服务]:" val
if [ "$flag" == "$val" ];then
for data in ${array[@]}
do
PID=$(ps -ef|grep "${data}"|grep -v grep|awk '{print $2}')
if [ -n "$PID" ];then
echo "kill当前服务"
kill -9 ${PID}
fi
sleep 1 #休眠 1s
if [ ! -d ${tomcatPath}${data} ];then
echo "${tomcatPath}${data} 目录不存在"
else
echo "启动服务"
${tomcatPath}${data}/bin/startup.sh
fi
done
elif [ "$kflag" == "$val" ];then
echo "kill 所有启动的tomcat进程"
PID=$(ps -ef|grep tomcat|grep -v grep|awk '{print $2}')
kill -9 ${PID}
fi
else
for data in ${array[@]} #遍历数组
do
        echo "将要处理的tomcat服务:${data}"
        PID=$(ps -ef|grep tomcat|grep "${data}"|grep -v grep|awk '{print $2}') #获取启动进程
        echo "进程id:${PID}"
        if [ -z "$PID" ];then
                if [ -d "${tomcatPath}${data}/bin" ];then
echo "启动服务"
                        cd ${tomcatPath}${data}/bin
                        ./startup.sh
                else
                        echo "${tomcatPath}${data}/bin 文件目录不存在"
                fi
        fi
done
fi
echo "启动tomcat服务如下:"
ps -ef|grep tomcat


echo #################启动服务结束#################################



到此第一个shell脚本结束

猜你喜欢

转载自blog.csdn.net/baidu_36342103/article/details/80095530
今日推荐