#!/bin/bash
servers=(bdc1 bdc2 bdc3 bdc4 bdc5 bdc6 bdc7 bdc8)
server_name=(不动产1 不动产2 不动产3 不动产4 不动产5 不动产6 不动产7 不动产8)
function start() {
server=$1
p=$(jps -l | grep -E "[0-9]+ [./a-zA-Z]+${server}.jar" | tr -d '/a-zA-Z. ')
if [ "${p}" != '' ]; then
echo "关闭正在运行服务 $server"
kill -9 $p
fi
echo "启动服务 $server"
nohup java -jar -Xmx3072m -Xms2048m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Duser.timezone=GMT+08 -Duser.timezone=GMT+08 "/home/bdc/DockerFiles/${server}/${server}.jar" >>"./log/${server}.log" 2>&1 &
}
function run() {
echo $'\n\033[32m欢迎使用一键启动/重启不动产服务脚本,如需退出脚本请使用"Ctrl + C"'
echo $'--------选择并启动/重启服务-------- \033[34mby hel'
echo $'\t\033[31m0\033[0m 启动/重启所有服务'
for ((i = 1; i < ${#servers[*]} + 1; i++)); do
echo -e "\t\033[31m${i}\033[0m ${servers[$i - 1]} ${server_name[$i - 1]}"
done
echo -n -e "请输入\033[31m序号\033[0m(多个使用英文逗号','分隔):"
read num
if [ "$num" = 0 ]; then
for ((i = 1; i < ${#servers[*]} + 1; i++)); do
start "${servers[$i - 1]}"
done
else
numArr=$(echo $num | sed 's/,/\n/g')
for n in $numArr; do
if [ "$n" -gt ${#servers[*]} ]; then
echo "!!!没有这个选项 > $n"
run
fi
start "${servers[$n - 1]}"
done
fi
}
run
jar包批量启动脚本
于 2022-08-19 15:06:26 首次发布