Shell脚本 服务一键启动与终止

服务一键启动与终止脚本

Shell脚本 服务一键启动与终止脚本

#启动脚本
# 服务注册地址
configServerAddr=“127.0.0.0:8088"
#nameSpace
registerNamespace=“lzh_test”
arr=(
    “subject-starter"
    “project-starter"
)


# 在 Bash 脚本中,getopts 是一个用于解析命令行参数的内置命令,而 $opt 是一个变量,用于存储 getopts 解析到的当前选项。
while getopts ":n:a:m:" opt
do
   case $opt in
        "a") configServerAddr=$OPTARG;;
        "n") registerNamespace=$OPTARG ;;
        "m") module=$OPTARG ;;
        ?)  exit 1;;
   esac
done

# ! -n 表示为空  -n判断是否为空  不为空返回true
if [ ! -n "$module" ];then
  echo '将运行全部模块'
else
    OLD_IFS="$IFS"
    IFS=","
    arr=($module)
    IFS="$OLD_IFS"
fi


echo  "配置中心地址:$configServerAddr"
echo  "注册中心namespace:$registerNamespace"

# 2>&1 的作用是将标准错误(stderr)的输出重定向到与标准输出(stdout)相同的地方。这样做的目的是将所有的输出(包括标准输出和标准错误)都写入到同一个文件中,以便更容易进行日志记录和分析。
for var in ${arr[@]}
do
  echo  "启动模块:$var"
  nohup java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -jar $var-hy-SNAPSHOT.jar  --nacos.config.server-addr=$configServerAddr --nacos.config.namespace=$registerNamespace   > $var.log  2>&1 &
  echo $! > $var.pid
  sleep 5
done






#停止脚本

arr=(
    “subject-starter"
    “project-starter"
)

while getopts ":m:" opt
do
   case $opt in
        "m") module=$OPTARG ;;
        ?)  exit 1;;
   esac
done

if [ ! -n "$module" ];then
  echo '将停止全部模块'
else
    OLD_IFS="$IFS"
    IFS=","
    arr=($module)
    IFS="$OLD_IFS"
fi

for var in ${arr[@]}
do
  kill -9 $(cat $var.pid)
done




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值