#!/usr/bin/ksh
WORKFILE="/tmp/df.work" # Holds filesystem data
>$WORKFILE # Initialize to empty
OUTFILE="/tmp/df.outfile" # Output display file
>$OUTFILE# Initialize to empty
THISHOST=`hostname`# Hostname of this machine
MIN_MB_FREE="50MB" # Min. MB of Free FS Space
df -k | tail +2 | egrep -v '/cdrom' /
| awk '{print $1, $4, $6}' > $WORKFILE
# Format Variables
(( MIN_MB_FREE = $(echo $MIN_MB_FREE | sed s/MB//g) * 1024 ))
# Loop through each line of the file and compare column 2
while read FSDEVICE FSMB_FREE FSMOUNT
do
FSMB_FREE=$(echo $FSMB_FREE | sed s/MB//g) # Remove the "MB"
if (( $FSMB_FREE < $MIN_MB_FREE ))
then
(( FS_FREE_OUT = $FSMB_FREE / 1000 ))
echo "$FSDEVICE mounted on $FSMOUNT has ${FS_FREE_OUT}MB Free" /
>> $OUTFILE
fi
done < $WORKFILE
if [[ -s $OUTFILE ]]
then
echo "/nFull Filesystem(s) on $THISHOST/n"
cat $OUTFILE
print
fi
本文介绍了一个用于监控文件系统的Shell脚本。该脚本通过检查每个文件系统分区的可用空间,当剩余空间低于预设阈值(50MB)时,会记录下相关信息并输出到指定文件中。此工具适用于自动化监控任务。
9260

被折叠的 条评论
为什么被折叠?



