需软件sendemail - email-from-console sending tool
apt-get install sendemail
QQ免费邮箱+免费短信通知
设置----> 帐户----->邮件帐号 开通你要绑定的手机 具体方式自己研究下不复杂.
最后获得phone@qq.com
我们获得监控信息要发送给这个邮箱然后由此邮箱发送免费邮件通知
(除QQ邮箱之外 139,189都是不错的选择有兴趣的可以研究下)
以下代码在debian 6.0下调试通过,不保证可以在其它环境下正常使用
直接看脚本
获得故障之后 给QQname@qq.com 抄送给phone@qq.com
- #!/bin/sh
- serverip="smtp.qq.com"
- server_all_list=(\
- srv_name1:IP1:80 \
- srv_name2:ip2:80 \
- srv_name1:ip3:80 \
- )
-
- date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")
-
- server_all_len=${#server_all_list[*]}
- i=0
- while [ $i -lt $server_all_len ]
- do
- server_name=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
- server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
- server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $3}')
- subject="${server_name} down"
- data="server ${server_ip} unreachable!\n$date"
- if curl -m 30 -G {server_ip}:${server_port}/ > /dev/null 2>&1
- then
- #status: 0,http down 1,http ok 2,http down but ping ok
- status=1
- echo OK
- else
- if curl -m 15 -G {server_ip}:${server_port}/ > /dev/null 2>&1
- then
- status=1
- else
- if ping -c 1 $server_ip > /dev/null 2>&1
- then
- status=2
- else
- status=0
- sendEmail -f QQname@qq.com -t xxx@163.com -cc Phone@qq.com -s $serverip -xu "QQname" -xp QQpasswd -u "$subject" -m "$data"
- fi
- fi
- fi