小工具shell检测进程状态异常自动重启

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小工具shell检测进程状态异常自动重启相关的知识,希望对你有一定的参考价值。

会shell脚本是一个运维人员的基本功,在平时工作中,为处理一些异常或者查询数据,我经常要写shell脚本来自动化处理。

这边分享一个我写的检测进程状态并自动重启的脚本,很简单,欢迎大家使用。

代码如下:

#!/bin/bash
#filename:tomcatcheck.sh
#功能说明:检测tomcat进程数量,为0,自动重启
source ~/.bash_profile
num=`ps -aef |grep tomcat |grep -v grep|wc -l`
echo "`date` check process‘s number is $num"   ####`date`输出日志包含时间
if [ "$num" -eq "0" ] ;then
service tomcat start    ####重启tomcat
elif [ $num -gt 1 ]; then
echo "`date` tomcat‘s process more than 1,is $num"
else
echo "`date` tomcat‘s process working normal!"
fi
exit 0

再设置一个计划任务,定时检测,并将检测结果输出到log。

*/10 * * * * /home/user/tomcatcheck.sh >> /home/user/tomcatcheck.log 2>&1


有个小坑需要注意,以上脚本中num结果为字符串,在做if判断时要按字符串方式来做逻辑判断。

以上是关于小工具shell检测进程状态异常自动重启的主要内容,如果未能解决你的问题,请参考以下文章

shell:监控进程运行状态并自动重启进程

Supervisor多进程管理 异常自动重启 可视化管理

进程管理工具之supervisor

Linux CentOS 8定时任务脚本crond.sh,检测状态,自动重启脚本sh

[4]supervisor使用管理:实现对异常中断子进程的自动重启(以mysql为例)

supervisord