Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1493552
  • 博文数量: 408
  • 博客积分: 10036
  • 博客等级: 上将
  • 技术积分: 4440
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-06 13:57
文章分类

全部博文(408)

文章存档

2011年(1)

2010年(2)

2009年(1)

2008年(3)

2007年(7)

2006年(394)

我的朋友

分类: 系统运维

2011-12-27 16:47:54

                                              服务器监控+邮件手机短信故障通知

需软件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

  1. #!/bin/sh
  2. serverip="smtp.qq.com"
  3. server_all_list=(\
  4. srv_name1:IP1:80 \
  5. srv_name2:ip2:80 \
  6. srv_name1:ip3:80 \
  7. )

  8. date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")

  9. server_all_len=${#server_all_list[*]}
  10. i=0
  11. while [ $i -lt $server_all_len ]
  12. do
  13. server_name=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
  14. server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
  15. server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $3}')
  16. subject="${server_name} down"
  17. data="server ${server_ip} unreachable!\n$date"
  18. if curl -m 30 -G {server_ip}:${server_port}/ > /dev/null 2>&1
  19. then
  20. #status: 0,http down 1,http ok 2,http down but ping ok
  21. status=1
  22. echo OK
  23. else
  24. if curl -m 15 -G {server_ip}:${server_port}/ > /dev/null 2>&1
  25. then
  26. status=1
  27. else
  28. if ping -c 1 $server_ip > /dev/null 2>&1
  29. then
  30. status=2
  31. else
  32. status=0
  33. sendEmail -f QQname@qq.com -t xxx@163.com -cc Phone@qq.com -s $serverip -xu "QQname" -xp QQpasswd -u "$subject" -m "$data"
  34. fi
  35. fi
  36. fi
阅读(2230) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~