监控jar包运行 若挂掉则自动拉起

1.编辑Crontab

执行命令crontab -e

打开crontab定时任务配置表 执行命令crontab -e 后弹出选择选项 这里选择“3”vim编译器打开 进入定时任务配置表 若选择错误可使用select-editor重新选择编辑器

使用vim定义定时任务 添加记录 

*/10 * * * * bash /home/walle/accessMonitor.sh

2.编写定时任务执行脚本accessMonitor.sh内容如下

#!/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

accessJarPath="/home/intellif/yangxuezhi/ifaas-community-thirdparty-access"
accessCleanJarPath="/home/intellif/yangxuezhi/ifaas-community-thirdparty-access-clean"

jarArr="ifaas-community-thirdparty-access.jar ifaas-community-thirdparty-access-clean.jar"
echo "****************" >> /home/walle/accessMonitor.log
curTime=`date "+%Y-%m-%d %H:%M:%S"`

for jar in ${jarArr}
do 
 pids=`ps -ef|grep $jar|grep -v grep|awk '{print $2}'`
 if [ ! -n "$pids" ]; then
    echo $curTime " start dead app: " $jar >> /home/walle/accessMonitor.log
    if [ "$jar"x = "ifaas-community-thirdparty-access.jar"x ]; then
        echo $curTime $accessJarPath >> /home/walle/accessMonitor.log
        cd $accessJarPath
    else
        echo $curTime $accessCleanJarPath >> /home/walle/accessMonitor.log
        cd $accessCleanJarPath
    fi
    nohup java -XX:+UseConcMarkSweepGC -Xmx2048m -Xms1024m  -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:./logs/java_gc.log -Duser.timezone=Asia/Shanghai -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar $jar --spring.profiles.active=ifaas > /dev/null 2>&1 &
 else
    echo $curTime  $jar "is running on port " $pids >> /home/walle/accessMonitor.log
 fi
done 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值