#!/bin/bash#The script for auto confgure web server.#The script by zhang hk.#Date 2016.3.16. /etc/init.d/functionsNginxDir=/usr/local/nginxTomDir=/home/ibumobile#Remote Slave ServerLinkSlave () {SlaveServer=192.168.137.11SlavePort=24/usr/bin/ssh -p $SlavePort root@"$SlaveServer" "$1"}ReMasterNginxConf (){#Confgure Master Web Server and reload confgure.cd $NginxDir/conf$NginxDir/sbin/nginx -c $NginxDir/conf/extra/$1.conf -t &>/tmp/1.logif [ $(grep "ok" /tmp/1.log|wc -l) -eq 1 ] ; then   \cp extra/$1.conf ./nginx.conf && /usr/local/nginx/sbin/nginx -s reload  if [ $? -eq 0 ]  then    echo "Master Configure Reload ..... OK."  else    exit 1  fielse  echo "Master Nginx Configure File Erro."  exit 1fi }ReSlaveNginxConf () {#Confgure Slave Web Server and reload confgureLinkSlave "$NginxDir/sbin/nginx -c $NginxDir/conf/extra/$1.conf -t" &>/tmp/1.logif [ $(grep "ok" /tmp/1.log|wc -l) -eq 1 ] ; then  LinkSlave "cd $NginxDir/conf &&  \cp extra/$1.conf ./nginx.conf && /usr/local/nginx/sbin/nginx -s reload"  if [ $? -eq 0 ]  then    echo "Slave Configure Reload is ..... OK."  else    exit 1  fielse  echo "Slave Nginx Configure File Erro."  exit 1fi}JavaPid () {cd $TomDir/$1if [ -f "$2.pid"  ]then  kill -9 $(cat ./$2.pid) && rm -f ./$2.pid  [ $? -eq 0 ] &&  mv $TomDir/$1/logs/catalina.out $TomDir/$1/logs/catalina.$(date +%F-%T).logelse  echo "Not found PID file."  exit 1fi[ $? -eq 0 ] && $TomDir/$1/bin/startup.sh >/dev/null}GrepLog (){for ((i=1;i<100;i++))do  if [ $(grep 'Server startup' $TomDir/$1/logs/catalina.out|wc -l) -eq 1 ]  then    echo "$1_$2 Server startup ..... OK"    break  else    sleep 1s    continue  fidone}############################################################################################################First Reload Master and Slave Nginx Configure.ReMasterNginxConf nginxOneReSlaveNginxConf nginxOne###########################################################################################################Stop Slave JAVA Port 8102.LinkSlave  "if [ -f $TomDir/tomcat_five/8102.pid ] ; then cat $TomDir/tomcat_five/8102.pid|xargs kill -9 && rm -f $TomDir/tomcat_five/8102.pid && mv $TomDir/tomcat_five/logs/catalina.out $TomDir/tomcat_five/logs/catalina.$(date +%F-%T).log && $TomDir/tomcat_five/bin/startup.sh;else echo 'Not found PID file.' && exit 1 ; fi "for ((i=1;i<100;i++))do  if [ $(LinkSlave "grep 'Server startup' $TomDir/tomcat_five/logs/catalina.out|wc -l") -eq 1 ]  then    echo "Tomcat_five_8102 Server startup ..... OK"    break  else    sleep 1s    continue  fidone##############################################################################################################Stop Master Java.JavaPid tomcat6_four 8102if [ $? -eq 0 ] then  GrepLog tomcat6_four 8102fi############################################################################################################Second Reload Master and Slave Nginx Configure.ReMasterNginxConf nginxTwoReSlaveNginxConf nginxTwo###########################################################################################################Stop Slave JAVA Port 8088.LinkSlave  "if [ -f $TomDir/tomcat6/8088.pid ] ; then cat $TomDir/tomcat6/8088.pid|xargs kill -9 && rm -f $TomDir/tomcat6/8088.pid && mv $TomDir/tomcat6/logs/catalina.out $TomDir/tomcat6/logs/catalina.$(date +%F-%T).log && $TomDir/tomcat6/bin/startup.sh;else echo 'Not found PID file.' && exit 1 ; fi "for ((i=1;i<100;i++))do  if [ $(LinkSlave "grep 'Server startup' $TomDir/tomcat6/logs/catalina.out|wc -l") -eq 1 ]  then    echo "Tomcat6_8088 Server startup ..... OK"    break  else    sleep 1s    continue  fidone##############################################################################################################Stop Master Java.JavaPid tomcat6_main 8088if [ $? -eq 0 ]then  GrepLog tomcat6_main 8088fiJavaPid tomcat6_third 8099if [ $? -eq 0 ]then  GrepLog tomcat6_third 8099fi############################################################################################################First Reload Master and Slave Nginx Configure.ReMasterNginxConf nginxReSlaveNginxConf nginxexit 0#The script end.#############################################################################################################