linux watch crontab,Linux下经过配置Crontab实现进程守护

本文介绍了一种通过在Linux下编写shell脚本并配置到Crontab来定期检查和自动重启消失的程序进程(如tomcat, mysql)的方法,以降低业务风险并提高故障响应效率。脚本包含进程检查和重启逻辑,并通过记录日志方便后期分析。通过Cron定时执行,确保服务稳定性。
摘要由CSDN通过智能技术生成

咱们在实际运维过程当中,常常会出现某一个程序(如tomcat,perl等)的进程平白无故就在服务器上消失了,这样的话第一咱们须要投入精力去分析它为何会消失,第二还须要配置相关检查人员,比较耗费时间。

咱们能够经过在Linux下写一个shell脚本,而且配置到Crontab中,这样的话当服务器上没有程序进程的时候,让shell自动帮咱们完成这个操做,将业务影响的风险降到最低,同时咱们能够按期观察Crontab中输出的日志,看是否有这种状况发生,再进行针对性处理,比问题突发起来再处理好不少。java

Shell内容:若是须要配置多个程序的话,将最下方注释放开便可。mysql

#!/bin/sh

# 守护脚本,经过 grep 命令检查进程是否存在而后从新启动进程

# 能够配置多个进程

# 根据进程名判断进程是否消失(行数为0),红字为查询进程关键字,必须惟一

if test `ps -ef | grep 'programme name' |grep -v vi |grep -v grep| wc -l` -eq 0

then

#记录发生时间 ,记录丢失进程名

echo `date`

echo 'programme name is missing.And the programme is restarting...!'

#从新启动程序,本身配置

cd /home/inm/ueap-mysql/redis-2.6.17

src/redis-server redis.conf

fi

# 多个进程守护(配置方法与上方相同)

# if test `ps -ef | grep INASProcessManager |grep -v vi |grep -v grep| wc -l` -eq 0

# then

# echo 'INASProcessManager is missing!'

# echo 'INASProcessManager starting!'

# java -jar /jh_app/inas/bin/INASProcessManager.jar >> mng.dump &

# fi

在crontab中配置上以上脚本,并记录日志:redis

*/3 * * * * /bin/sh /home/aiuap/esb/ueap-collect/watch.sh>>/home/aiuap/esb/ueap-collect/watch.logsql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值