钧言极客站钧言极客

钧言极客

shell查看进程是否运行,不存在进行重启

最近换下宝塔的环境,转战kangle和amh,主要是宝塔被大佬爆出后门。换到其他面板后,mysql莫名其妙会被挤掉,所以写一个定时 监控的bash守护脚本,以便掉线进行重启。

bash代码如下

#!/bin/bash
result=`ps -ef|grep -w mysql|grep -v grep|wc -l`
if [ $result -ge 1 ];then
        echo "app start sucessed"
else
        /etc/init.d/mysql restart
        echo "Restarting current program"
fi

重命名并保存为mysql.sh,这个名字也可以自定义

函数解析

检查程序是否运行

ps -ef|grep -w mysql       搜索mysql进程名称
grep -v grep               过滤掉 grep 进程
wc -l                      显示结果行数

if判断的类型

result返回现在有多少指定进程在进程,不存在则进行下一步操作

-eq:等于
-ne:不等于
-le:小于等于
-ge:大于等于
-lt:小于
-gt:大于

crontab守护

在ssh界面进入crontab界面来设置定时任务

crontab -e
或
vim /etc/crontab

这里我设置5分钟的定时定时任务

*/5 * * * * bash /root/mysql.sh

这样就搞定了。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《shell查看进程是否运行,不存在进行重启》
文章链接:https://www.jinjun.top/424.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论