我的工作脚本

#!/bin/bash
#The script for auto confgure web server.
#The script by zhang hk.
#Date 2016.3.16
. /etc/init.d/functions
NginxDir=/usr/local/nginx
TomDir=/home/ibumobile

#Remote Slave Server
LinkSlave () {
SlaveServer=192.168.137.11
SlavePort=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.log
if [ $(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
  fi
else
  echo "Master Nginx Configure File Erro."
  exit 1
fi 
}

ReSlaveNginxConf () {
#Confgure Slave Web Server and reload confgure
LinkSlave "$NginxDir/sbin/nginx -c $NginxDir/conf/extra/$1.conf -t" &>/tmp/1.log
if [ $(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
  fi
else
  echo "Slave Nginx Configure File Erro."
  exit 1
fi
}

JavaPid () {
cd $TomDir/$1
if [ -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).log
else
  echo "Not found PID file."
  exit 1
fi

[ $? -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
  fi
done
}

###########################################################################################################
#First Reload Master and Slave Nginx Configure.
ReMasterNginxConf nginxOne
ReSlaveNginxConf 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
  fi
done
#############################################################################################################
#Stop Master Java.
JavaPid tomcat6_four 8102
if [ $? -eq 0 ] 
then
  GrepLog tomcat6_four 8102
fi

###########################################################################################################
#Second Reload Master and Slave Nginx Configure.
ReMasterNginxConf nginxTwo
ReSlaveNginxConf 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
  fi
done


#############################################################################################################
#Stop Master Java.
JavaPid tomcat6_main 8088
if [ $? -eq 0 ]
then
  GrepLog tomcat6_main 8088
fi

JavaPid tomcat6_third 8099
if [ $? -eq 0 ]
then
  GrepLog tomcat6_third 8099
fi



###########################################################################################################
#First Reload Master and Slave Nginx Configure.
ReMasterNginxConf nginx
ReSlaveNginxConf nginx



exit 0
#The script end.
#############################################################################################################


你可能感兴趣的:(shell)