DoDo原创,转载请注明出处
SA对于服务器的监控是很必要的,但是如果管理的服务器很多,也不可能24小时在线监控。
本文的主要内容就是实现,服务器如果出现异常,会通过短信方式,直接把服务器当前状况发送到管理员手机,SA可以第一时间知道服务器发生异常,从而以最快的时间予以处理。
原理很简单,中国移动提供139.com这样的邮箱,如果有邮件到达,会同时发送邮件标题到管理员对应手机,邮箱名是 你的手机号@139.com,例如:13036110648@139.com,当此邮箱接收到邮件时,会同时给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/sh
echo "`who`" >> /data/login.log
mail -s "`who`" 13036110648@139.com < /data/login.log
#chmod a+x /data/checklogin.sh
#touch /data/login.log
#chmod a+w /data/login.log
这里做完就OK了,那么每次这个用户登录的时候,就会把当前的已登录用户信息以短信方式发送到管理员手机号
当然你也可以监控所有用户登录,那么就应该修改/etc/bashrc这个登录脚本