快速业务通道

磁盘空间监控脚本--简约而不简单(shell编程实例)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-28
我们在进行日常linux服务器管理的时候,为了保证服务器程序运行正常和服务产生的数据不丢失,磁盘空间一定要是足够用的,一般会去做一些定期的(crond)清理来做保障.但即使是这样,对于大型的应用服务,数据量产生非常大,做磁盘空间使用情况的监控报警就显得尤为重要了. 实际的环境中往往使用一台服务器做批量管理的枢纽,通过这台机器进行几百台、甚至上千台应用服务器的管理操作,这样的服务器我们一般称为中控机.本脚本便是采用按时运行于中控机进行大量服务器的磁盘监控工作. 下面这段shell脚本程序是我在工作中根据实际需要写的,看上去很简单,但却不失其功能. #!/bin/bash
#Used for reporting the disk space usage of the apl servers by the means of mail.
#Written on ****
#Author: Levin.<findingcc@126.com>

IP=`cat /home/admin/server-iplist`
MAILLIST=`cat /home/admin/maillist.sp`
PERCENT=80

for i in $IP
do
DATE=$(date %F--%T)
echo "******$DATE******"
echo $i
/usr/bin/ssh ${i#*--->} "df"|grep ^/|sed ''s/%//g''|awk -v p=$PERCENT ''{if($5>p)printf"%-16s %-6sn",$NF,$(NF-1)"%"}''
echo
done|mail -s "SERVER磁盘空间使用情况报表(超过${PERCENT}%的)" -c $MAILLIST IP列表server-iplist的格式如下: SERVERNAME1--->对应的ip SERVERNAME2--->对应的ip SERVERNAME3--->对应的ip SERVERNAME4--->对应的ip. . . 结果会email给指定的收件人,邮件内容为如下显示: ******2009-11-09--13:01:01****** SERVERNAME1--->对应的ip / 86% ******2009-11-09--13:01:05****** SERVERNAME2--->对应的ip /home/backups 96% ******2009-11-09--13:01:06****** SERVERNAME3--->对应的ip /home/backups 85% /var/ 82% ******2009-11-09--13:01:06****** SERVERNAME4--->对应的ip /opt/ 80% . . .
优化版本:#!/bin/bash
#Used for reporting the disk space usage of the HP180 servers by the means of mail.
#Written on xxxx.
#Author: Levin.

IP=`cat /home/admin/server-iplist`
MAILLIST=`cat /home/admin/maillist.sp`
PERCENT=80

for i in $IP
do
TIME=$(date %F--%T)
ssh ${i#*--->} "
num=($(df|grep ^/|sed ''s/%//g''|awk -v p=$PERCENT ''{if($5>p)print $5}''))
if [[ ${num[0]} -gt $PERCENT ]];then
echo "===$TIME==="
echo "$i"
df|grep ^/|sed ''s/%//g''|awk -v p=$PERCENT ''{if($5>p)printf"%-16s %-6sn",$NF,$(NF-1)"%"}''
echo
fi
"
done |mail -s "服务器磁盘空间不足!!" -c $MAILLIST此版本在原来的基础上实现了只打印硬盘使用超过预期的ip,而不是全部显示.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号