一些常用的监控shell(自动修复)

1、tomcat的带自愈

#!/bin/bash 

aa=`ps -ef | grep tomcat | grep -v "grep"| wc -l`
if [ $aa == 1 ]
then
echo "tomcat服务已经启动"
else
tomcat服务异常,开始重启
sh /usr/local/tomcat/apache-tomcat-7.0.42/bin/ > /dev/null
服务已重启,请注意观察
fi

2、nginx的带自愈

#!/bin/bash 

aa=`ps -ef | grep nginx | grep -v "grep"| wc -l`
if [ $aa == 4 ]
then
echo "nginx服务已经启动"
else
nginx服务异常,开始重启
/usr/local/nginx/sbin/nginx

服务已重启,请注意观察
fi

3、挂载分区的监测

#!/bin/bash

a=`df -hl | awk '{print $5}'| awk 'NR==2'| tr -d '%'`
b=`df -hl | awk '{print $5}'| awk 'NR==3'| tr -d '%'`
c=`df -hl | awk '{print $5}'| awk 'NR==4'| tr -d '%'`
d=`df -hl | awk '{print $5}'| awk 'NR==5'| tr -d '%'`
e=`df -hl | awk '{print $5}'| awk 'NR==6'| tr -d '%'`
f=`df -hl | awk '{print $5}'| awk 'NR==7'| tr -d '%'`
g=`df -hl | awk '{print $5}'| awk 'NR==8'| tr -d '%'`
h=`df -hl | awk '{print $5}'| awk 'NR==9'| tr -d '%'`
i=`df -hl | awk '{print $5}'| awk 'NR==10'| tr -d '%'`

if [ $a -le 80 ] && [ $b -le 80 ] && [ $c -le 80 ] && [ $d -le 80 ] && [ $e -le 80 ] && [ $f -le 80 ] && [ $g -le 80 ] && [ $h -le 80 ] && [ $i -le 80 ]
then
echo "使用率小于80%,使用率正常"
else
echo "硬盘空间不足,请检查"
fi

4、swap分区监测

#!/bin/bash

used_mem=`free -m |awk 'NR==2 {print$6}'`

if [ ${used_mem} -lt 5000 ]
then
内存使用空间不足5G,现在剩余内存为:${used_mem}
fi

5、数据库的监测带自愈

#!/bin/bash 

aa=`ps -ef | grep mysql | grep -v "grep"| wc -l`
if [ $aa == 3 ]
then
echo "mysql服务已经启动"
else
mysql服务异常,开始重启
systemctl restart mariadb
服务已重启,请注意观察
fi