#!/bin/bash #-*- coding: utf-8 -*- #Date: 2020/03/30 #Author: Mr.yang #Version: 1.3 tomcat6="" tomcat61="" tomcat62="" tomcat63="" tomcat7="" tomcat8="" tomcat81="" tomcat82="" tomcat83="" i="0" function choose(){ cat << KOF ************************************************* * 1.测试环境项目部署 * * 2.正式环境项目部署 * ************************************************* KOF } function test(){ read -p "请输入项目名:" pjname name=`echo ${pjname} | sed 's/-//g'` read -p "请输入平台名称:" platform && read -p "请输入用户密码:" passwd mkdir -p /webapp/${platform}${pjname} mkdir -p /logs/${pjname} useradd ${platform}${name} echo "${passwd}" | passwd --stdin ${platform}${name} read -p "请输入端口号(关闭端口自动+1000):" prot while [ $i -le 3 ] do fin=`find /webapp -mindepth 2 -maxdepth 2 |egrep tomcat_${prot} | wc -l` find /webapp -mindepth 2 -maxdepth 2 |egrep tomcat_${prot} | wc -l if [ $fin != 0 ];then echo "端口目录存在……" && read -p "请重新输入端口号:" prot i=$((i+1)) if [ $i < 3 ];then continue elif [ $i == 3 ];then echo "请仔细核对端口后,再次执行……" exit fi ps -ef |grep $prot | grep -v grep if [ $? -eq 0 ];then echo "启用端口重复……" && read -p "请重新输入:" prot elif [ $? -ne 0 ];then echo "无端口重复,继续进行……" break fi elif [ $fin == 0 ];then echo "无端口重复……" break fi done read -p "请输入tomcat版本(输入6/8):" tomcat cd /webapp/${platform}${pjname} if [ $tomcat == 6 ];then wget $tomcat6 elif [ $tomcat == 7 ];then wget $tomcat7 elif [ $tomcat == 8 ];then wget $tomcat8 fi } function product(){ read -p "请输入项目名:" pjname read -p "请输入平台名称:" platform && read -p "请输入用户密码:" passwd && read -p "请输入UID:" uid name=`echo ${pjname} | sed 's/-//g'` mkdir -p /webapp/${platform}${pjname} mkdir -p /logs/${pjname} useradd -u ${uid} ${platform}${name} echo "$passwd" | passwd --stdin ${platform}${name} read -p "请输入端口号(关闭端口自动+1000):" prot while [ $i -le 3 ] do fin=`find /webapp -mindepth 2 -maxdepth 2 |egrep tomcat_${prot} | wc -l` find /webapp -mindepth 2 -maxdepth 2 |egrep tomcat_${prot} | wc -l if [ $fin != 0 ];then echo "端口目录存在……" && read -p "请重新输入端口号:" prot i=$((i+1)) if [ $i <= 3 ];then continue elif [ $i == 3 ];then echo "请仔细核对端口后,再次执行……" exit fi ps -ef |grep $prot | grep -v grep if [ $? -eq 0 ];then echo "启用端口重复……" && read -p "请重新输入:" prot elif [ $? -ne 0 ];then echo "无端口重复,继续进行……" break fi elif [ $fin == 0 ];then echo "无端口重复……" break fi done read -p "请输入tomcat版本(6/8+1/2/3为低/中/高配置) (例61) :" tomcat cd /webapp/${platform}${pjname} if [ $tomcat == 61 ];then wget $tomcat61 elif [ $tomcat == 62 ];then wget $tomcat62 elif [ $tomcat == 63 ];then wget $tomcat63 elif [ $tomcat == 81 ];then wget $tomcat81 elif [ $tomcat == 82 ];then wget $tomcat82 elif [ $tomcat == 83 ];then wget $tomcat83 fi } function tomcat(){ echo "创建中……请稍后……" tar=`ls | awk '/jdk/{print}'` tar xf /webapp/${platform}${pjname}/$tar && rm -rf /webapp/${platform}${pjname}/$tar gz=`ls | awk 'NR==1{print $1}'` mv /webapp/${platform}${pjname}/$gz /webapp/${platform}${pjname}/tomcat_$prot sed -i "s/8080/$prot/g" /webapp/${platform}${pjname}/tomcat_$prot/conf/server.xml Prot=$(($prot+1000)) sed -i "s/9080/$Prot/g" /webapp/${platform}${pjname}/tomcat_$prot/conf/server.xml chown -R $platform$name.$platform$name /webapp/${platform}${pjname} /logs/${pjname} su - $platform$name -c "sh /webapp/${platform}${pjname}/tomcat_$prot/bin/startup.sh" } while : do clear choose read -p "选择列表内容:" a case $a in 1) test tomcat exit ;; 2) product tomcat exit ;; *) echo "输入错误,请重新输入" sleep 2 ;; esac done