shell脚本一键部署tomcat

#!/bin/bash
#关闭防火墙和SELinux
systemctl stop firewalld && setenforce 0
yum -y install net-tools
#安装jdk环境因为还没有找到可以下载jdk的地址,所以这里可以和ansible结合将jdk的安装包分发至目标主机 这个jdk环境比较大,可以提前下载好。
#判断jdk是否安装
rpm -ivh jdk-8u131-linux-x64_.rpm
rpm -qa | grep jdk1.8.0_131-1.8.0_131-fcs.x86_64
if [ $? -eq 0 ]; then
        echo "jdk环境已安装"
else
        echo "jdk环境没有安装好,请先"
        break
fi
#可以用ansible的copy模块分发tomcat的安装包
#先判断安装包是否分发过去
ls -l /root/ | awk '{print $9}' | grep apache-tomcat-8.5.35.tar.gz
if [ $? -eq 0 ]; then
        echo "此压缩包已存在"
        if [ ! -d /opt/tomcat ]; then
                tar -zxf apache-tomcat-8.5.35.tar.gz && mkdir /opt/tomcat && mv /root/apache-tomcat-8.5.35 /opt/tomcat/
        fi
        continue
else
        echo "此压缩包不存在"
        break
fi
netstat -ntlp | grep 8080
if [ $? -eq 0 ]; then
        echo "已有服务用此端口"
        pid=`netstat -ntlp | grep 8080 | awk '{print $7}' | awk -F '/' '{print $1}'`
        echo "pid是:${pid}"
        kill $pid
        echo "被占用的服务以杀死"
        continue
else
        break
fi
start_tomcat=`/opt/tomcat/apache-tomcat-8.5.35/bin/startup.sh`
netstat -ntlp | grep -w 8080
if [ $? -eq 0 ]; then
        echo "服务已开启"
else
        $start_tomcat
fi
ip=`/sbin/ifconfig -a|awk '{print $2}'|sed -n '2p'`
echo "$ip"


curl_code=`curl -I -m 10 -o /dev/null -s -w %{http_code} http://192.168.18.140:8080`
curl  -I www.aaa.com:8080

echo ${curl_code}
if [ ${curl_code} -eq 200 ]; then
        echo "tomcat-server is ok"
else
        echo "tomcat-server is not ok"
fi

 还是有一点小瑕疵的,欢迎指正,以免更多的人被误导

posted @ 2019-12-08 18:23  陈豆豆鸭  阅读(319)  评论(0)    收藏  举报