偶尔的测试失败,找了会儿原因才发现是磁盘空间不足引起的,所以就写了了个小脚本,加到/etc/crontab中每个小时运行一次,当有文件系统分区的使用率大于等于95%时就发给预警邮件给我,然后去根据实际情况处理。
该Shell脚本比较简单,如下所示:
#!/bin/bash
#set -x
checkLog=/var/log/check-space.log
fullFlag=0
df -h > $checkLog
percent_list=$(cat $checkLog | awk '{print $5}' | grep -Eo "[0-9]+")
for num in $percent_list
do
if [ $num -ge 95 ]; then
fullFlag=1
fi
done
if [ $fullFlag -eq 1 ]; then
echo "$(hostname): used disk space is more than 95%" | mutt -s "WARN: $(hostname) disk space full" -a $checkLog yongjie.ren@aaaa.com
fi
PS:要装有mutt软件包发邮件的哦,可能需要root权限运行(因为磁盘监控一般也是管理员的事情)。