当我们的微服务项目逐渐增多时,每次更新都要去重新启动微服务的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秒钟 不然会出问题)
扫描二维码关注公众号,回复:
30591 查看本文章
#! /bin/sh ROOT="/usr/share/总项目工程" "$ROOT"/微服务项目1/startJar1.sh sleep 5s "$ROOT"/微服务项目2/startJar2.sh
上面的项目名称我都是用中文名称做演示,实际应用的时候最好都用英文