通过脚本启动批量服务

/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 doif [ "$2" -eq "$seqfilenum" ];then$3$seqnamerm -rf $4 $1fidone<$1}
existdir(){if [ -d $1 ];thencd $1ls>>$2ls |wc -lelseecho -e "\n \e[1;31m $1目录不存在 \e[0m"fi
}
stopservice(){while read filenum seqname doecho $1 $4if [ "$1" -ne "$4" ];thenif [ "$1" -eq "$filenum" ];thenrm -rf $2 $3				  kill -9 $(ps -ef | grep ${seqname%.sh}| awk '{print $2}') &> /dev/null  fielserm -rf $2 $3kill -9 $(ps -ef | grep "${javajar}\|$tomcat"| awk '{print $2}') &> /dev/nullfidone<$2
}
fileexist(){if [ -d `dirname $1` ];thenif [ -e $1 ];thenrm -rf $1fielseecho -e "\n \e[1;31m $(dirname $1)目录不存在 \e[0m"exitfi
}
fileexist $script 
fileexist $service
basetotal=`existdir $base $service` 
wwyttotal=`existdir $dirsh $service`
case ""$1 instart)fktotal=`existdir $fkall $service`total=$((wwyttotal+basetotal+fktotal));;stop)stoptotal=`existdir $stopscript $service`total=$((wwyttotal+basetotal+stoptotal));;check)ps -ef | grep "$javajar\|$tomcat"fileexist $serviceexit;;log)echo $1;;*)echo -e "\e[1;32m\n启动服务输入参数start\n停止服务输入参数stop\n检查服务输入参数check\n\e[0m"fileexist $serviceexitesac 
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]+$ ]];thenecho -e "\n \e[1;31m 请输入数字 \e[0m"rm -rf $service $scriptexit 1fi case "$1" instart)if [ "$num" -gt 0  -a  "$num" -le "$total"  ];thenif [ "$num" -le  "$basetotal" ];thenexecscript $script $num $base $serviceelif [ "$num" -gt "$basetotal" -a "$num" -le "$singletotal" ];thenexecscript $script $num $dirsh $serviceelseexecscript $script $num $fkall $servicefirm -rf $service $scriptelseecho -e "\n \033[31m 请输入大于0小于等于${total}的数字 \033[0m"rm -rf $service $scriptfi  ;;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 &


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高性能MySQL(3)——创建高性能索引

索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时&#xff0c;索引对性能的影响愈发重要。 一、索引的类型 在MySQL中&#xff0c;索引是在存储引擎层而不是服务器层实现的。所以没用统一的索引标准&#xff0c;不同存储引擎的索引工作方式并不相同。 1.1、B-Tre…

linux 调优系列

Linux系统内核:修改TCP/IP调优参数 所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数, 后面是它们的含义: 1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲。 2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲。 3.…

java中的构造方法与代码块

一、构造方法 1.1、java中的构造方法跟普通方法有很大的区别&#xff1a; 构造方法的方法名跟类名相同构造方法没有返回值类型,连void也没有,也不能用return返回值每次创建一个对象,都会调用构造方法,如果没有写构造方法,系统会默认加上一个空参的构造,如果已经写了构造方法,…

bash shell是如何识别特殊符号的

一 、 shell命令解析以及识别通配符 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行 。 实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编…

linux 调优系列(续)

linux 的各大发行版&#xff0c;都有些不必要的服务被默认开启了&#xff0c;针对ubuntu&#xff0c;我们 可以采用选择性关闭的方法加速起动&#xff0c;提高系统性能。 这里我们安装一个软件&#xff1a; sudo apt-get install sysv-rc-conf 然后这样起动&#xff1a; 在这个…

配置文件bashrc与profile的区别

1、当登入系统时候获得-个shell进程时&#xff0c;其读取环境设定档有三步 首先读入的是全局环境变量设定档/ete/profile,然后根据其内容读取额外的设定的文档&#xff0c;如/etc/profile. d和/ etc/ inputre 然后根据不同使用者帐号&#xff0c;去其家目录读取, bash, pr…

高性能MySQL(4)——查询性能优化

査询优化、索引优化、库表结构优化需要齐头并进&#xff0c;一个不落。 一、为什么查询速度为变慢 在尝试编写快速的查询之前,需要清楚一点,真正重要是响应时间。如果把查询看作是一个任务&#xff0c;那么他由一系列子任务组成&#xff0c;每个子任务都会消耗一定的时间。如果…

GooglePerformanceTools--tcmalloc

TCmalloc全称是Thread-Caching malloc&#xff0c;作者宣称tcmalloc相对于glibc2.3 malloc(aka ptmalloc2)有6倍的性能提高&#xff0c;tcmalloc的常用场景是用于加速MySQL&#xff0c;不过据Wikipedia的hacker Domas Mituzas说&#xff0c;tcmalloc不仅仅对MySQL起作用&#x…

linux基本命令以及命令常用选项

linux基本命令以及命令常用选项touch 创建文件&#xff0c;改变恩建时间戳&#xff0c;如果直接跟上一个文件&#xff0c;该文件不存在则创建文件-c文件不存在不创建文件&#xff0c;存在则改变文件的时间戳-a只改变文件的访问时间-m改变文件的修改时间-t时间格式CCYYMMDDhhmm…

Java获取上一周、上一个月、上一年的时间

SimpleDateFormat format new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); Calendar c Calendar.getInstance(); 1.过去七天 c.setTime(new Date()); c.add(Calendar.DATE, - 7); Date d c.getTime(); String day format.format(d); System.out.println(“过去七天&#…

远程网络安装RHEL5

一&#xff1a;Linux安装工作原理 众所周知&#xff0c;在安装过程中Linux首先需要一个引导程序来让安装光盘启动&#xff0c;再实行配置与安装。但目前转化为远程网络安装那么就需要我们的安装程序能够远程地通过网络传送给客户端。因此在搭建远程Linux安装服务器时候首先要值…

sed命令操作

sed 是一种数据流编辑器,它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区(pattern space称为“模式空间”)中,在内存中处理,完成后把该行发送到屏幕上,清理pattern space中的内容,接着重复刚才的动作,读入下一行,直到文件处理结束。文件内容并没有 改变,…

Portainer简介及部署

一、介绍 Portainer是Docker的图形化管理工具&#xff0c;提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作&#xff08;包括上传下载镜像&#xff0c;创建容器等操作&#xff09;、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用…

Nexus搭建Maven私有仓库

一、使用Docker安装Nexus 1、查询当前有哪些Nexus镜像 docker search nexus2、下载sonatype/nexus3 docker pull docker.io/sonatype/nexus33、运行nexus容器 mkdir -p /usr/local/nexus3/nexus-data #新建挂载目录 chown -R 200 /usr/local/nexus3/nexus-datadocker run -…

VI资料收集

1.6.1 vi 的工作模式Vi 在初始启动后首先进入编辑模式&#xff0c;这时用户可以利用一些预先定义的按键来移动光标、删除文字、复制或粘贴文字等。这些按键均是普通的字符&#xff0c;例如 l 是向右移动光标&#xff0c;相当于向右箭头键&#xff0c;k 是向下移动光标&#xff…

linux终端

终端就是处理计算机主机输入输出的一套设备&#xff0c;它用来显示主机运算的输出&#xff0c;并且接受主机要求的输入&#xff0c;典型的终端包括显示器键盘套件&#xff0c;打印机打字机套件等 linux终端类型终端名称标识含义串行端口终端Serial Port Terminal/dev/ttySx 串行…

日常问题——VMware下的CentOS7 Ping不通百度

问题描述&#xff1a; 在VMware下新创建的CentOS ping 不通百度 解决方案&#xff1a; 1、点击VMware的编辑按钮下的虚拟网络编辑器 2、更改设置后&#xff0c;选择NAT类型&#xff0c;点击NAT设置 3、记录下&#xff0c;子网ip&#xff0c;掩码&#xff0c;网管IP信息 4、…

linux查找文件find

查找命令文件whatis 从path还从man中查找which 从path环境变量中查找文件查找locate /var/lib/mlocate/mlocate.db 通过update更新数据库 find 默认动作是 -print -ls -delete -ok -exec 命令 {} \; -name根据文件名查找-iname忽略大小写-size根据文件及目录大小查找…

linux下用ntp对时

更新系统时间的命令用&#xff1a;ntpdate <时间服务器>教育网下常用的时间服务器有s1a.time.edu.cn&#xff0c;或者210.72.145.44ntpdate 210.72.145.44更多教育下的时间服务器可在这里找到&#xff1a; http://www.time.edu.cn/mem.htm。如果想让系统退出时的把时间写…

CentOS7.6下安装Ambari

一、准备工作 1.1、准备三台CentOS 1.2、配置静态IP、DNS vi /etc/sysconfig/network-scripts/ficfg-ens33IPADDR为 配置的ip NETMASK 子网掩码 GATEWAY 网关 配置保存后重启虚拟网络 service network restart1.3、配置Hostname vi /etc/hostname#将第一行替换成新名字 m…