首页 运维 网络学院 查看内容

linux服务器监控手机报警

2009-9-30 10:32 619 0

摘要: 信息来源:二胖子网络技术论坛(bbs.erpangzi.com)文章作者:DODO(http://www.sectop.com/)SA对于服务器的监控是很必要的,但是如果管理的服务器很多,也不可能24...
关键词: nbsp server 服务器 邮箱 13036110648 脚本 com data 邮件 登录

信息来源:二胖子网络技术论坛(bbs.erpangzi.com)文章作者:DODO(http://www.sectop.com/)SA对于服务器的监控是很必要的,但是如果管理的服务器很多,也不可能24小时在线监控。本文的主要内容就是实现,服务器如果出现异常,会通过短信方式,直接把服务器当前状况发送到管理员手机,SA可以第一时间知道服务器发生异常,从而以最快的时间予以处理。原理很简单,中国移动提供139.com这样的邮箱,如果有邮件到达,会同时发送邮件标题到管理员对应手机,邮箱名是 你的手机号@139.com,例如:[email protected],当此邮箱接收到邮件时,会同时给13036110648这个手机发送邮件到达信息,邮箱注册地址http://mail.139.com/在实现下面功能之前,请务必先注册好邮箱(此功能现在移动免费提供)下面我们来实现一些功能:监控用户登录我们知道用户一般登录的时候都会加载登录脚本 ~/.bashrc,那么我们可以在这个脚本里面加入:#echo 'at now + 1 minutes -f /data/checklogin.sh > /dev/null 2>&1' >> ~/.bashrc那么此用户登录的时候就会在1分钟之后,执行/data/checklogin.sh这个脚本(为什么要在一分钟之后,因为如果是自己登陆,就不需要发送短信,给自己时间来用atrm 取消此任务计划),此脚本内容如下#cat /data/checklogin.sh#!/bin/shecho "`who`" >> /data/login.logmail -s "`who`" [email protected] < /data/login.log#chmod a+x /data/checklogin.sh#touch /data/login.log#chmod a+w /data/login.log这里做完就OK了,那么每次这个用户登录的时候,就会把当前的已登录用户信息以短信方式发送到管理员手机号当然你也可以监控所有用户登录,那么就应该修改/etc/bashrc这个登录脚本监控服务运行状态#!/bin/shserver_all_list=(\59.175.212.145:80 \59.175.212.145:21 \59.175.212.145:3306 \)date=$(date +"%Y-%m-%d_%H:%M:%S")server_all_len=${#server_all_list[*]}i=0while [ ${i} -lt ${server_all_len} ]doserver_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')if /usr/bin/nc -vv -z -w 3 ${server_ip} ${server_port} > /dev/null 2>&1then  :else  if /usr/bin/nc -vv -z -w 10 ${server_ip} ${server_port} > /dev/null 2>&1  then   :  else   echo "${date},服务器${server_ip},端口${server_port}无法访问" >> /data/monitor/server.log   mail -s "${date},服务器${server_ip},端口${server_port}无法访问" [email protected] < /data/monitor/server.log  fifii=$((i+1))done
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部