检查磁盘分区的情况

流程

  • 获取系统磁盘分区名字 /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~/+/' ~包含的意思
posted @   kyle_7Qc  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示