脚本文件名df.sh,作用:监控硬盘空间使用率。
代码如下:
#!/bin/bash
# DEFINE FILES AND VARIABLES HERE
WORKFILE=/home/toplover/df.work
>$WORKFILE
OUTFILE=/home/toplover/df.outfile
>$OUTFILE
IPADDR=`cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep IPADDR |awk -F= '{print $2}'`
HOSTNAME=`hostname`
FSMAX=25
# START OF MAIN #
#df -hP|grep /|egrep -v '/cdrom'|sed 's/%/ /g'|awk '{print $1, $5, $6}' > $WORKFILE
df -hP|grep /|egrep -v '/cdrom'|awk '{print $1, $5, $6}' > $WORKFILE
while read FSDEVICE FSVALUE FSMOUNT
do
FSVALUE=$(echo $FSVALUE | sed 's/%//g')
if [ $FSVALUE -gt $FSMAX ];then
echo "$FSDEVICE mounted on $FSMOUNT is ${FSVALUE}%" >> $OUTFILE
fi
done < $WORKFILE
if [ -s $OUTFILE ];then
. /home/topgkw/.bash_profile
toploverFILE=$toplover_BASE/diag/tnslsnr/$HOSTNAME/listener/trace/listener.log $toplover_BASE/flash_
recovery_area/ $toplover_BASE/oradata/$toplover_SID/
#这里不能折行
du -sh $toploverFILE >> $OUTFILE;
mail -s "Server $IPADDR's Disk Usage more than "80%"" test@jb200.com
-- -f test@jb200.com < $OUTFILE
fi
代码说明:
1,通过df命令监测硬盘空间,并借助grep、egrep、awk、sed命令进行相关数据统计。
统计数据写入$WORKFILE文件中。
2,告警上限为25%的空闲率,低于此值时即告警。
3,通过sendmail实时发送告警邮件。
调用示例:
生成的df.work文件内容如下:
由上图可以看出,用此脚本检测出的当前硬盘空间的使用率,与我们直接用df命令得出的一样的。
当然了,本脚本也是用的df命令,但至少我们这个脚本是确实可用的。
留着吧,用来分析下硬盘空间、查看硬盘使用率还是蛮好用的。