流程
- 获取系统磁盘分区名字 /etc/fstab 排除空行,注释的行,swap
- 统计磁盘分区数量 wc -l
- 取出所有分取名字,通过循环一个分区一个分区处理
- 获取分区使用率 df -h 分区名字 取出大小,使用率
- 对使用率进行判断
- 大于等于70 磁盘空间不足
- 小于70 磁盘空间正常
脚本
#! /bin/bash
disk_name=`egrep -v '^($|#)|swap' /etc/fstab |awk '$3~/xfs|ext/ {print $2}'`
disk_num=`egrep -v '^($|#)|swap' /etc/fstab |awk '$3~/xfs|ext/ {print $2}'|wc -l`
for name in ${disk_name}
do
disk_use=`df -h $name |awk 'NR==2 {print int($5)}'`
disk_size=`df -h $name |awk 'NR==2 {print ($2)}'`
if [ ${disk_use} -ge 90 ];then
waring=灾难
elif [ ${disk_use} -ge 80 ];then
waring=危险
elif [ ${disk_use} -ge 60 ];then
waring=严重
else
waring=正常
fi
echo 磁盘名字: $name 磁盘大小: $disk_size 磁盘使用率:$disk_use 级别:$waring
done
知识点
- for循环
- if多分支语句
- 文本处理 (grep,awk)
- awk '$3~/+/' ~包含的意思