通过脚本启动批量服务

/app/all_start_script/wwyt/此目录服务如下:apigateway.sh   auth.sh   config.sh   register.sh    zipkin.sh

/app/all_start_script/other/此目录服务如下:

 tomcat.sh    wwyt_base.sh    wwyt_cache.sh   wwyt_flow.sh    wwyt_risk_login.sh   wwyt_rule.sh

/app/all_start_script/startall//此目录服务如下:base_start_all.sh    fk_all_start.sh   

/app/all_start_script/stopall/此目录服务如下:fk_all_stop.sh
脚本版本一如下:

#!/bin/bash
dirsh="/app/all_start_script/wwyt/"
service="/app/all_start_script/fksh"
script="/app/all_start_script/fkscript"
base="/app/all_start_script/other/"
fkall="/app/all_start_script/startall/"
stopscript="/app/all_start_script/stopall/"
javajar="java -jar"
tomcat="tomcat"
baseall=0
basetotal=0
wwyttotal=0
fktotal=0
stopall=0
trap "rm -f $script $service;exit" INT
execscript(){
     while read seqfilenum seqname 
       do
         if [ "$2" -eq "$seqfilenum" ];then
                $3$seqname
               rm -rf $4 $1
         fi
        done<$1
  }
existdir(){
      if [ -d $1 ];then
            cd $1
            ls>>$2
            ls |wc -l
      else
              echo -e "\n \e[1;31m $1目录不存在 \e[0m"
      fi
}
stopservice(){
             while read filenum seqname 
              do
			   echo $1 $4
			   if [ "$1" -ne "$4" ];then
                               if [ "$1" -eq "$filenum" ];then
                                    rm -rf $2 $3				  
                                 kill -9 $(ps -ef | grep ${seqname%.sh}| awk '{print $2}') &> /dev/null  
		               fi
		          else
				    rm -rf $2 $3
				  kill -9 $(ps -ef | grep "${javajar}\|$tomcat"| awk '{print $2}') &> /dev/null
				 
                           fi
              done<$2
}
fileexist(){
      if [ -d `dirname $1` ];then
        if [ -e $1 ];then
          rm -rf $1
        fi
     else
       echo -e "\n \e[1;31m $(dirname $1)目录不存在 \e[0m"
        exit
     fi
}
fileexist $script 
fileexist $service
basetotal=`existdir $base $service` 
wwyttotal=`existdir $dirsh $service`
case ""$1 in
      start)
             fktotal=`existdir $fkall $service`
             total=$((wwyttotal+basetotal+fktotal))
            ;;
        stop)
             stoptotal=`existdir $stopscript $service`
             total=$((wwyttotal+basetotal+stoptotal))
             ;;
        check)
          ps -ef | grep "$javajar\|$tomcat"

          fileexist $service
          exit
         ;;
        log)
              echo $1;;
        *)
             echo -e "\e[1;32m\n启动服务输入参数start\n停止服务输入参数stop\n检查服务输入参数check\n\e[0m"
          fileexist $service
             exit
 esac 
singletotal=$((wwyttotal+basetotal))
cd `dirname $service`
echo -e "\e[1;32m----五位一体风控服务列表----\e[0m"
    cat -n $service|tee -a $script
echo -e "\e[1;32m----------------------------\e[0m"
 read -n 2 -p "请选择要启动的服务(输入数字序号):" num
echo -e "\n"
	    if [[ ! $num =~ ^[0-9]+$ ]];then
	      echo -e "\n \e[1;31m 请输入数字 \e[0m"
		  rm -rf $service $script
	      exit 1
	    fi 
 case "$1" in
       start)
            if [ "$num" -gt 0  -a  "$num" -le "$total"  ];then
                 if [ "$num" -le  "$basetotal" ];then
                      execscript $script $num $base $service
                 elif [ "$num" -gt "$basetotal" -a "$num" -le "$singletotal" ];then
                      execscript $script $num $dirsh $service
                 else
                      execscript $script $num $fkall $service
                 fi
		  rm -rf $service $script
            else
                  echo -e "\n \033[31m 请输入大于0小于等于${total}的数字 \033[0m"
	          rm -rf $service $script
            fi  
            ;;
        stop)
                 stopservice $num $script $service $total                              
           ;;
        log) ;;
        *)  ;;
esac

基础服务启动脚本:

#!/bin/bash
dirsh="/app/all_start_script/other"
cd $dirsh
./register.sh
register=0
config=0
api=0
zipkin=0
echo "register 启动中。。" 
while (($register <3))  
do 
register=`netstat -tnulp|grep 1900[123]|wc -l`
done
echo "register 启动成功。。" 

./config.sh
echo "config 启动中。。。"
while (($config< 3)) 
do
config=`netstat -tnulp|grep 999[678]|wc -l`
done
echo "config 启动成功。。。"

./apigateway.sh
echo "api 启动成中。。。"
while (($api==1))
do
api=`netstat -tnulp | grep 18001|wc -l`
done  
echo "api 启动成功。。。"

./zipkin.sh
echo "zipkin 启动成中。。。"
while (($zipkin==1))
do
zipkin=`ps -ef |grep -v grep| grep zipkin|wc -l`
done  
echo "zipkin启动成功。。。"
    


系统服务启动脚本:

#!/bin/bash
dirsh="/app/all_start_script/wwyt/"
service="/app/all_start_script/fkallfilesh"
cd $dirsh
ls -l | grep -v "总用量"|awk -F ' ' '{print $9}'>$service
while read line
do
echo  $line"启动中。。"
 $dirsh$line 
done<$service
rm -rf $service
    

register脚本内容:

#!/bin/bash
#kill -9 `ps -ef | grep register| awk '{print $2}'` &> /dev/null &
cd /app/eureka-server
i=1
while [ $i -le 1 ] ;do 
	let i++
nohup java -jar uap-register-server-1.0.jar --spring.profiles.active=register01 &> /app/log/eureka-register01.log &
nohup java -jar uap-register-server-1.0.jar --spring.profiles.active=register02 &> /app/log/eureka-register02.log &
nohup java -jar uap-register-server-1.0.jar --spring.profiles.active=register03 &> /app/log/eureka-register03.log &
done

config脚本内容

#!/bin/bash
#kill -9 `ps -ef | grep config| awk '{print $2}'` &> /dev/null 
cd /app/config-server
i=1
while [ $i -le 1 ];
do
let i++
nohup java -jar uap-config-server-1.0.jar --spring.config.location=application-config01.properties,bootstrap.properties &> /app/log/config01.log &
nohup java -jar uap-config-server-1.0.jar --spring.config.location=application-config02.properties,bootstrap.properties &> /app/log/config02.log &
nohup java -jar uap-config-server-1.0.jar --spring.config.location=application-config03.properties,bootstrap.properties &> /app/log/config03.log &
done

zipkin脚本内容

#!/bin/bash
#kill -9 `ps -ef | grep zipkin| awk '{print $2}'` &> /dev/null 
cd /app/zipkin
nohup java -jar uap-tracemonitor-server-1.0.jar --STORAGE_TYPE=mysql --MYSQL_DB=zipkin --MYSQL_USER=dbscale --MYSQL_PASS=dbscale --MYSQL_HOST=192.168.66.105 --MYSQL_TCP_PORT=13007 --spring.config.location=application.properties &> /app/log/zipkin.log &


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤舞飘伶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值