Linux脚本操作jar

应客户要求需要对jar包分别配置启动、停止、校验三种可执行脚本。执行成功在日志文件输出0,失败输出1。

  1. 启动脚本
#!/bin/bash
JAR_PATH=/opt/project/xxx/
JAR_NAME=xxx.jar
LOG_PATH=${JAR_PATH}xxx.result
echo "$(date "+%Y-%m-%d_%H:%M:%S")" >>$LOG_PATH
#获得程序PID
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
#判断程序是否在运行中
if [ -z $pid ]; then
#启动程序
nohup java -jar -Xmx12288M -Xms10240M $JAR_PATH$JAR_NAME > log.file 2>&1 &
fi
#再次获得程序PID校验程序是否启动成功
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
if [ -z $pid ]; then
 statusid=1
else
 statusid=0
fi
#向日志文件中写入当前时间 操作用户 执行状态
echo "$(date "+%Y-%m-%d_%H:%M:%S") $USER ${statusid}" >>$LOG_PATH

  1. 停止脚本
#!/bin/bash
JAR_NAME="xxx.jar"
LOG_PATH=/opt/project/xxx/xxx.result
echo "$(date "+%Y-%m-%d_%H:%M:%S")" >>$LOG_PATH
#得到程序PID
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
#判断PID存在
if [ ! -z $pid ]; then
kill -9 $pid
fi
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
#判断PID不存在
if [ -z $pid ]; then
statusid=0
else
statusid=1
fi
echo "$(date "+%Y-%m-%d_%H:%M:%S") $USER ${statusid}" >>$LOG_PATH

  1. 校验脚本
#!/bin/bash
JAR_NAME="xxx.jar"
LOG_PATH=/opt/project/xxx/xxx.result
echo "$(date "+%Y-%m-%d_%H:%M:%S")" >>$LOG_PATH
pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
if [ -z $pid ];then
statusid=1
else
statusid=0
fi
echo "$(date "+%Y-%m-%d_%H:%M:%S") $USER ${statusid}" >>$LOG_PATH


若操作其他程序,替换JAR_NAME参数即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值