bmwm3 发表于 2018-12-3 11:24:57

tomcat 多实例部署脚本

  #!/bin/bash
  PA=ABC.com
  JA=/JavaWeb
  TT=/usr/local/tomcat
  #Add an instance, and make the appropriate settings
  AIAS () {
  echo -e "\n"
  [ ! -d $JA ] && echo "Warning:Not found $JA,Please check " && exit 1
  [ ! -d $TT ] && echo "Warning:Not found $TT,Please check " && exit 1
  [ ! -d $TT/conf/ ] && echo "Warning:Not found $TT/conf/,Please check " && exit 1
  [ ! -d $TT/webapps/ ] && echo "Warning:Not found $TT/webapps/,Please check " && exit 1
  [ ! -d $TT/temp/ ] && echo "Warning:Not found $TT/temp/,Please check " && exit 1
  [ ! -d $TT/work/ ] && echo "Warning:Not found $TT/work/,Please check " && exit 1
  [ ! -d $TT/logs/ ] && echo "Warning:Not found $TT/logs/,Please check " && exit 1
  read -p "Enter the instance name you want to create:" ITN
  echo "The instance name is $ITN"
  read -p "Is ok,please enter y or n:" READA
  if [ $READA == y ];then
  mkdir -p $JA/$ITN/ROOT
  echo -e "#!/bin/bash\nexportCATALINA_BASE=$TT/$ITN\nsh "\$CATALINA_HOME"/bin/startup.sh" >$JA/$ITN/start.sh
  echo -e "#!/bin/bash\nexportCATALINA_BASE=$TT/$ITN\nsh "\$CATALINA_HOME"/bin/shutdown.sh" >$JA/$ITN/stop.sh
  chmod 755 $JA/$ITN/start.sh
  chmod 755 $JA/$ITN/stop.sh
  

  

  mkdir $TT/$ITN
  cp -r $TT/conf/ $TT/$ITN
  cp -r $TT/webapps/ $TT/$ITN
  cp -r $TT/temp/ $TT/$ITN
  cp -r $TT/work/ $TT/$ITN
  cp -r $TT/logs/ $TT/$ITN
  sed -i -e s/webapps/"\/JavaWeb\/$ITN"/ $TT/$ITN/conf/server.xml
  else
  AIAS
  fi
  }
  

  #Modify the port number
  MPN1 () {
  echo -e "\n"
  echo "Please enter a Server port number"
  

  read -p "Please enter a port number:" NUM1
  echo "The port number you enter is:$NUM1"
  read -p "Is ok,Please enter y or n:" READ1
  if [ $READ1 == y ];then
  sed -i s/8005/$NUM1/ $TT/$ITN/conf/server.xml
  #sed -i 42s/$/",$NUM1"/ `pwd`/tomcatadd.sh
  echo -e "\n"
  else
  MPN1
  fi
  }
  

  MPN2 () {
  echo "Please enter a Connector port number"
  

  read -p "Please enter a port number:" NUM2
  echo "The port number you enter is:$NUM2"
  read -p "Is ok,Please enter y or n:" READ2
  if [ $READ2 == y ];then
  sed -i s/8080/$NUM2/ $TT/$ITN/conf/server.xml
  #sed -i 58s/$/",$NUM2"/ `pwd`/tomcatadd.sh
  echo -e "\n"
  else
  MPN2
  fi
  }
  

  MPN3 () {
  echo "Please enter a Connector port number"
  

  read -p "Please enter a port number:" NUM3
  echo "The port number you enter is:$NUM3"
  read -p "Is ok,Please enter y or n:" READ3
  if [ $READ3 == y ];then
  sed -i s/8009/$NUM3/ $TT/$ITN/conf/server.xml
  #sed -i 73s/$/",$NUM3"/ `pwd`/tomcatadd.sh
  echo -e "\n"
  else
  MPN3
  fi
  }
  #Add a user
  AU () {
  echo "the instance name is $ITN"
  read -p "Please enter the name of the user you want to add:" UN
  echo "The name you enter is:$UN"
  read -p "Is ok,Please enter y or n:" READAU
  if [ $READAU == y ];then
  useradd $UN
  echo $PA | passwd --stdin $UN &>/dev/null
  chown -R $UN $JA/$ITN
  chown -R $UN $TT/$ITN
  echo -e "\n"
  else
  AU
  fi
  }
  

  #Information confirmation
  

  ICMPN () {
  echo "Make sure the information is correct"
  echo -e "\n"
  sleep 3
  sed -n '22p' $TT/$ITN/conf/server.xml
  echo -e "\n"
  sed -n '71,73p' $TT/$ITN/conf/server.xml
  echo -e "\n"
  sed -n '93p' $TT/$ITN/conf/server.xml
  echo -e "\n"
  sed -n '125,126p' $TT/$ITN/conf/server.xml
  echo -e "\n"
  sleep 5
  echo ll $JA
  echo `/bin/ls -l $JA | grep $ITN`
  echo -e "\n"
  echo ll $JA/$ITN
  echo `/bin/ls -l $JA/$ITN`
  echo -e "\n"
  echo ll $TT/$ITN
  echo `/bin/ls -l $TT/$ITN`
  echo -e "\n"
  }
  

  #Information output
  IFO () {
  echo -e "你好,\n$ITN服务器如下:\nIP:192.168.5.10\n用户名:$UN\n密码:$PA\n\n账号权限仅限于以下目录:\nTomcat实例路径:$TT/$ITN \n程序存放目录:$JA/$ITN\n程序本地直接测试端口号:$NUM2(不允许私自更改)\n程序外网访问:$ITN \n谢谢!"
  }
  

  #The main program
  AIAS
  MPN1
  MPN2
  MPN3
  AU
  ICMPN
  IFO
  




页: [1]
查看完整版本: tomcat 多实例部署脚本