邮件报警shell脚本

温馨提示  首先要安装postfix 或者 sendmail 等邮件服务器

1.Apache

#!/bin/bash
#apache.sh

nc -w2 localhost 80   
if[ $? -ne 0 ]
then
	echo "apache is down,please check" | mail user1@g.cn -s "apache is down"
	/usr/local/apache2/bin/apachectl restart
fi

 说明:
    nc 是到一个端口里面去 -w2 表示进去2秒  如果端口开放2秒后自动退出  如果没有开放直接退出
    $? 是上一步执行的结果 0表示执行成功,端口是开启的  非0 表示失败,端口是关闭的
    如果80端口关闭了 发送邮件并且重启服务

2.硬盘配额

#!/bin/bash
#disk.sh

num=`df |awk 'NR==3{print int($4)}'`
if [ $num -ge 20]
then
	echo "disk space is ${num}%, now >20%" | mail user1@g.cn -s "disk space >22%"
fi

 说明:
    num=`df |awk 'NR==3{print int($4)}'`  把df执行结果的第3行第4列的值转成int 赋值给 num

原文地址:https://www.cnblogs.com/mr-amazing/p/3810375.html