Liunx运维批量启动、停止服务

      在日常运维过程中,经常会碰到需要批量启动若干个应用服务,若果手动一个一个启动,非常耗时效率很低,这时候可以考虑脚本批量启动。

一、批量启动应用服务

1、准备服务列表

  将需要启动的服务文件写入文件svc_list.txt

cat  >>  svc_list.txt << EOF
> server1
> server2
> server3
> server4
> server5
> server6
> EOF

2、批量启动脚本foreach_start.sh

#!bin/bash

JAVA_OPTS="${JAVA_OPTS} -Xmx256m -Xms256m"

echo “共有$#个服务需要启动”

for arg in "$@"
do
  echo "当前启动的服务-> $arg"
  nid=`jps  -l | grep $arg | awk '{print $1}'`
  if [[ -z $nid ]]; then
     echo "没有正在运行的$arg......直接启动"
  else
      echo "扫描到正在运行的$arg...执行关闭"
      kill -9  $nid
  fi

  echo "执行启动命令[ java  -jar $JAVA_OPS  $arg.jar  >> ./log/$arg.log 2>&1 & ]"
  nohup  java  -jar $JAVA_OPTS   $arg.jar  >> ./log/$arg.log 2>&1 &


  cid=$(ps  -ef  | grep $arg | grep -v "grep" | awk '{print $2}')
  if [[ -z $cid ]];then
     echo "$arg启动失败,请查看日志"
  else
     echo "$arg启动成功,进程$cid"
  fi
sleep 1
done

3、执行启动

cat svc_list.txt  | xargs  sh  foreach_start.sh

二、批量停止服务foreach_stop.sh

#!bin/bash
for arg in "$@"
do
  echo "当前启动的服务-> $arg"
  nid=`jps -l | grep $arg | awk '{print $1}'`
  if [[ -z $nid ]]; then
     echo "没有正在运行的$arg......直接启动"
  else
      echo "扫描到正在运行的$arg...执行关闭"
      kill -9  $nid
  fi
done

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值