一个简单的服务定时重拉脚本

一、背景

   应用服务,或者中间件服务启用后,如果没有守护进程,有时候可能因为未知原因进程被杀死,

为了减少这种后续修复的不必要成本,可以写个简单的服务重拉脚本

二、脚本编写

1、脚本示例如下

#!/bin/bash

num=`netstat -nlp | grep ${服务关键字} | wc -l`
#echo $num
if [ $num != ${数量按实际填写} ] ;then
   ps aux |grep ${服务关键字} |grep -v grep | awk '{print $2}' |xargs -l kill -9 > /dev/null 2>&1
   num=`netstat -nlp | grep ${服务关键字 | wc -l`
   #echo $num
   if  [ $num == 0 ] ;then
       cd  ${应用1相应目录} &&  nohup ./bin/${服务命令} -r .  > /dev/null 2>&1 &
       cd  ${应用2相应目录} &&  nohup ./bin/${服务命令} -r .  > /dev/null 2>&1 &
   fi
fi

2、注释

#  |xargs -l

|xargs  可以读取标准输入和管道中的数据

-l   可以保证输入的数据按行输入(有时候光|xargs是无法按行前面输入的 ,比如前面是ll命令等)

#  > /dev/null 2>&1 &

让前面启用应用的命令以后台进程方式运行,并不需要手动回车退出夯死状态

三、操作流程

1、添加crontab定时任务 每五分钟执行一次

crontab -e


*/5 * * * * /usr/bin/sh /root/jun/monitor.sh

题外话: 每10s执行一次定时任务怎么实现?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值