一次shell脚本的练习案例

 启动微服务的脚本:

#! /bin/sh
set -m
app_path=$(pwd)
echo app path is $app_path

# 找到tomcat的进程id
app_pid=$(ps -ef|grep $app_path|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
if [ "$app_pid" ];then
  echo app process id is $app_pid
  # 杀掉app进程
  if
    kill -9 $app_pid
  then
    echo kill app process success
  else
   echo kill app process fail
  fi
else
  echo app is already dead
fi
appname=gate
jarname=sale-${appname}-1.0.0-SNAPSHOT.jar
exejarpath=$(pwd)/${jarname}
consolelog=$(pwd)/log.out
cp -pf /home/zntg/szkingdom/jarhome/${jarname} ./
java -server -Djava.security.egd=file:///dev/urandom -Xms256m -Xmx512m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:LargePageSizeInBytes=64m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Dfile.encoding=UTF-8 -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:SurvivorRatio=20 -XX:+CMSPrecleaningEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./dumplogs -Xloggc:./gc.log -Djava.net.preferIPv4Stack=true -jar ${exejarpath} --logging.config=./logback.xml > ${consolelog} 2>&1 &
tail -f ${consolelog}


 批量启动的脚本:

cd /home/zntg/szkingdom/master
./startup-master.sh &
sleep 30s
./startup-right.sh &
cd /home/zntg/szkingdom/autotask
./startup-autotask.sh &
sleep 90s
# 90秒后 杀死所有的tail -f log.out的进程
echo "ps -ef|grep log.out|awk '{print $2}'|xargs -i kill -9 {}"
ps -ef|grep log.out|awk '{print $2}'|xargs -i kill -9 {}

& 挂起当前shell,后台运行

sleep 30s 休眠30秒

sleep 10m休眠10分钟

sleep  1h 休眠1小时

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值