最近换下宝塔的环境,转战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
这样就搞定了。
转载请注明:IT运维空间 » linux » shell查看进程是否运行,不存在进行重启
发表评论