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
还是有一点小瑕疵的,欢迎指正,以免更多的人被误导