邮件报警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