邮件监控存储卷空间的脚本

本文介绍了一个用于监控邮件存储卷空间的bash脚本,该脚本可以显示存储名称、IP地址、卷名、总空间大小、可用空间、一天内使用的空间及使用率等信息。通过使用Nagios插件获取数据并进行处理,最终将结果记录到日志文件中。

邮件监控存储卷空间的脚本:


说明:

1、显示存储名、ip、卷名、total空间、free空间、1天用空间、已用百分比

2、对卷名字符数的统计(echo aa1 | wc -m)

3、对卷名部分的排除,只保留数值部分(/usr/lib64/nagios/plugins/check-netapp-ng2.pl -H 10.0.0.16 -C public -T DISKUSED -v /vol/$eNas/ -w 80 -c 90 | awk -F[:" "]+ '{print $5}' | tr -d ';' | cut -b "$Wcc-$Wf")

4、KB转换为GB(echo $Tootal | awk '{$1/=1024*1024;printf "%.0fGB\n",$1})



#!/bin/bash


Date=`date +%Y%m%d`

Date2=`date +%Y%m%d -d "7 days ago"`

Date3=`date +%Y%m%d -d "1 days ago"`


Nas_all="10.0.0.16 10.0.18 10.0.1.11"


eNas1="aa1 aa2 aa3"


eNas2="bb1 bb2 bb3"



#echo "nas1(10.0.0.16) each volume usage" > /log/vol/$Date.log

echo "                             " > /log/vol/$Date.log


for eNas in $eNas1

do

Wc=`echo /vol/$eNas/ | wc -m`

Wcc=$(($Wc + 1))

Avg=`/usr/lib64/nagios/plugins/check-netapp-ng.pl -H 10.0.0.16 -C public -T DISKUSED -v /vol/$eNas/ -w 80 -c 90 | awk -F[:" "]+ '{print $7}' | cut -b 6-8 | tr -d ';'`

Free=`/usr/lib64/nagios/plugins/check-netapp-ng2.pl -H 10.0.0.16 -C public -T DISKUSED -v /vol/$eNas/ -w 80 -c 90 | awk -F[:" "]+ '{print $5}' | tr -d ';'`

Wf=`echo $Free | wc -m`



Frree=`/usr/lib64/nagios/plugins/check-netapp-ng2.pl -H 10.0.0.16 -C public -T DISKUSED -v /vol/$eNas/ -w 80 -c 90 | awk -F[:" "]+ '{print $5}' | tr -d ';' | cut -b "$Wcc-$Wf"`

Freee=`echo $Frree | awk '{$1/=1024*1024;printf "%.0fGB\n",$1}'`


Total=`/usr/lib64/nagios/plugins/check-netapp-ng3.pl -H 10.0.0.16 -C public -T DISKUSED -v /vol/$eNas/ -w 80 -c 90 | awk -F[:" "]+ '{print $5}' | tr -d ';'`

Wt=`echo $Total | wc -m`


Tootal=`/usr/lib64/nagios/plugins/check-netapp-ng3.pl -H 10.0.0.16 -C public -T DISKUSED -v /vol/$eNas/ -w 80 -c 90 | awk -F[:" "]+ '{print $5}' | tr -d ';' | cut -b "$Wcc-$Wt"`


Totall=`echo $Tootal | awk '{$1/=1024*1024;printf "%.0fGB\n",$1}'`


Dfree=`echo $Freee | tr -d 'GB'`

Yfree=`cat /log/vol/$Date3.log | grep 10.0.0.16 | grep $eNas | head -n 1 | awk -F[:" "]+ '{print $6}' | tr -d 'GB'`

Ufree=$(($Yfree - $Dfree))

echo "nas1(10.0.0.16)   $eNas   Total: $Totall Free: $Freee Day_use: $Ufree"GB"  $Avg"  >> /log/vol/$Date.log



done

echo "                             " >> /log/vol/$Date.log

echo "                             " >> /log/vol/$Date.log

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/1902124如需转载请自行联系原作者


yangzhimingg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值