Chinaunix首页 | 论坛 | 博客
  • 博客访问: 969706
  • 博文数量: 704
  • 博客积分: 10140
  • 博客等级: 上将
  • 技术积分: 6230
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-15 20:41
文章分类

全部博文(704)

文章存档

2013年(1)

2012年(16)

2011年(536)

2010年(151)

分类:

2011-12-29 20:56:06

原文地址:磁盘空间监控 作者:net_liufeng

   俺的这个磁盘空间监控,大量使用了awk,嘿嘿,enjoy it!
 
 
#!/bin/sh
#disk_monitor.sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
LANG=zh_CN.gbk
export PATH LANG
CRITICAL=90
CONTACTS_LIST="联系人手机号码"
HOST=$(/sbin/ifconfig | awk -F'[ ]*|:' '($0~/inet addr:/ && $0!~/Mask:255.255.255.255|inet addr:127.0.0.1/){printf("%s ",$4)}END{print}')
eval $(df -k | awk -F"[ ]*|%" '(NR>1){ if($5>i) {i=$5 ; partition_used_max=$NF} }END{print "PARTITION_USED_MAX="partition_used_max ; print "PARTITION_USED_MAX_PER="i }')
eval $(df -i | awk -F"[ ]*|%" '(NR>1){ if($5>i) {i=$5 ; inode_used_max=$NF} }END{print "INODE_USED_MAX="inode_used_max ; print "INODE_USED_MAX_PER="i }')
# out something like this:
# PARTITION_USED_MAX=/home
# PARTITION_USED_MAX_PER=78
# INODE_USED_MAX=/usr
# INODE_USED_MAX_PER=18
# of course , scan this definition twice

#USED=$(df -k | awk -F"[ ]*|%" '(NR>1){print $5}' | sort -nr | head -1)
#INODE_USED=$(df -i | awk -F"[ ]*|%" '(NR>1){print $5}' | sort -nr | head -1)
if [ $PARTITION_USED_MAX_PER -ge $CRITICAL ] || [ $INODE_USED_MAX_PER -ge $CRITICAL ]
 then
  for phone in $CONTACTS_LIST
   do
SMS_MESSAGE="DISK Warn:$HOST+disk+space+$PARTITION_USED_MAX+used+$PARTITION_USED_MAX_PER%;+inode:$INODE_USED_MAX+used+$INODE_USED_MAX_PER%"
/usr/bin/wget -O result.txt "http://你的短信发送服务器?message=$SMS_MESSAGE"
               
   done
fi
阅读(256) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~