题目:监控文件系统使用率,当发现使用率超过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执行一次。
该博客介绍了一个bash脚本,用于监控Linux系统的文件系统使用率。当使用率达到70%以上时,脚本会记录相关信息到日志文件。脚本首先通过df-h命令获取磁盘使用情况,过滤掉首行并添加时间戳,然后使用while循环读取数据,利用awk提取第五列(即使用率),去掉百分号,并进行数值比较。如果使用率大于或等于70%,则将该行信息写入日志。此外,还建议使用crontab设置定时任务,每3小时执行一次该脚本,确保实时监控。
2821

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



