题目:监控文件系统使用率,当发现使用率超过70%时,记录日志
解题思路:要看使用率,用 df -h 命令,将结果导入到一个临时文件,记得去除第一行和加时间戳,用while循环逐行读取并抓取对应列,将后面的%去除,判断一下数字大小,然后记录日志,如果有其他操作可继续衔接
df -h如下:(用虚拟机显示)
代码如下:
#!/bin/bash
df -h | tail -n +2 > /mnt/df.tmp
date +"20%y-%m-%d %H:%M:%S" >> /mnt/log/df.log
while read line
do
lv=`echo $line | awk '{print $5}'`
num=${lv%%%}
if [ $num -ge 70 ]; then
echo $line >> /mnt/log/df.log
fi
done < /mnt/df.tmp
rm -f 、mnt/df.tmp
echo " " >> /mnt/log/df.log
echo "--------------------" >> /mnt/log/df.log
还可以通过contab设置CT任务,每3h执行一次。