多个微服务在服务器后台启停脚本

当我们的微服务项目逐渐增多时,每次更新都要去重新启动微服务的jar包,因此我们可以写一个批量脚本让所有的微服务启停。

首先每一个微服务就写一个对应的启停脚本,然后写个总控制脚本来控制所有微服务启停脚本。

例如:

我们这有2个微服务项目:微服务项目1.jar 和 微服务项目2.jar 

首先给两个jar包写启停脚本

微服务项目1.jar 的启动脚本 startJar1.sh

#!/bin/sh

ROOT="/usr/share/总项目工程/微服务1"

nohup java -jar "$ROOT"/微服务项目1.jar >log.txt &

echo $! > "$ROOT"/微服务1.pid                                                                                      

微服务项目1.jar 的停止脚本 stopJar1.sh

#!/bin/sh
ROOT="/usr/share/总项目工程/微服务1"
PID=$(cat "$ROOT"/微服务1.pid)
kill -9 $PID

微服务项目2.jar 的启动脚本 startJar2.sh

#!/bin/sh

ROOT="/usr/share/总项目工程/微服务2"

nohup java -jar "$ROOT"/微服务项目2.jar >log.txt &

echo $! > "$ROOT"/微服务2.pid                                                                                          

微服务项目1.jar 的停止脚本 stopJar2.sh

#!/bin/sh
ROOT="/usr/share/总项目工程/微服务2"
PID=$(cat "$ROOT"/微服务2.pid)
kill -9 $PID

然后写总工程的启停脚本依次去执行 startJar1.sh,startJar2.sh,stopJar1.sh,stopJar2.sh

总工程启动脚本 startMain.sh(这里每执行一个脚本需要等待5秒钟 不然会出问题)

#! /bin/sh
ROOT="/usr/share/总项目工程"

"$ROOT"/微服务项目1/startJar1.sh

sleep 5s 
"$ROOT"/微服务项目2/startJar2.sh
 
  

上面的项目名称我都是用中文名称做演示,实际应用的时候最好都用英文

你可能感兴趣的:(linux,linux)