Linux 监控适配层jar包并自动重启(根据jar名称)

Linux 监控适配层jar包并自动重启(根据jar名称)

描述
创建定时任务,扫描适配层jar包运行情况,打印运行日志,在jar包停止运行时自动重启。

步骤:
一、编写shell脚本,监控jar包运行情况,打印运行监控日志,重启jar包

名称:monitor_adpter.sh 位置:/opt/monitor/

#包名称
jarName=hospital-adapters-1.0.0-SNAPSHOT.jar
#jar包日志
jarLog=/opt/logs/consle.log 
#监控日志
logUrl=/opt/log.log

# grep -v grep: 在文档中过滤掉包含有grep字符的行
# awk '{print $2}': 按空格截取第二个
pid=`ps -ef|grep $jarName |grep -v grep| awk '{print $2}'`
# wc -l: jar包进程的数量
num=`ps -ef|grep $jarName |grep -v grep| awk '{print $2}'| wc -l`

MonitorAlarm(){
    # 输出文本
    echo "[info]进入监控脚本"`date +'%Y-%m-%d %H:%M:%S'` >> $logUrl
    # -eq: 等于
    if [[ $num -eq 0 ]]; then
        echo "[error]进程不存在,重启"`date +'%Y-%m-%d %H:%M:%S'` >> $logUrl
		# >> /dev/null : jar包生成日志不打印到此脚本日志中
  
  		#启动命令  java -jar hospital-1.0.0.jar
  	    java 启动命令   > $jarLog
        
	  
        echo " 重启结束 "  >> $logUrl
    else
       echo "[info]进程存在,不重启"`date +'%Y-%m-%d %H:%M:%S'` >> $logUrl
    fi
}
MonitorAlarm 
二、将monitor_adpter.sh脚本设为可执行
chmod a+x monitor_adpter.sh
三、定时执行脚本
# 查看和设置定时任务
crontab -e

添加下面的语句到文件中

# 每十分钟分钟执行一次
*/10 * * * * bash /opt/monitor/monitor_adpter.sh  

*/10 * * * * crontab表达式,可根据需求修改定时任务的启动条件

opt/minitor_adpterStop.sh

注意:

>>    /opt/myfile.log
>     /opt/myfile.log
两种方式存储日志    第一种不覆盖,第二种覆盖(每次重新开始打印日志时清除上一次记录)
四、相关报错解决
  • cat /var/spool/mail/root 查看crontab定时任务执行记录日志
  • https://blog.csdn.net/nero_claudius/article/details/102976144 linux定时任务执行shell脚本报错(发送邮件失败)

定时杀死jar程序(根据jar名称)

步骤与上面一样,注意修改名称和路径

一、编写shell脚本

名称 monitor_adpterStop 路径:/opt/monitor/

#包名称
jarName=hospital-adapters-1.0.0-SNAPSHOT.jar

#监控日志
logUrl=/opt/monitor_adpterStop.log


# grep -v grep: 在文档中过滤掉包含有grep字符的行
# awk '{print $2}': 按空格截取第二个
pid=`ps -ef|grep $jarName |grep -v grep| awk '{print $2}'`
# wc -l: jar包进程的数量
num=`ps -ef|grep $jarName |grep -v grep| awk '{print $2}'| wc -l`

if [[ $num -eq 0 ]]; then
    	 echo "[error]进程不存在"`date +'%Y-%m-%d %H:%M:%S'` >> $logUrl
   	 else
         echo "[info]进程存在,"`date +'%Y-%m-%d %H:%M:%S'` >> $logUrl
         #kill 进程
		kill -9 $pid
	
		echo  "kill pid: "  $pid   $jarName
    fi
二、将monitor_adpterStop.sh脚本设为可执行
chmod a+x monitor_adpterStop.sh
三、定时执行脚本
    # 查看和设置定时任务
    crontab -e

添加下面的语句到文件中

# 23点30执行 脚本
30 23 * * * bash /opt/monitor/monitor_adpter.sh  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值