首页 > 系统服务 > 详细

shell习题第17题:检测磁盘

时间:2019-06-08 17:10:19      阅读:130      评论:0      收藏:0      [点我收藏+]

【题目要求】

写一个shell脚本,检测所有磁盘分区使用率和inode使用率并记录到以当天日期命名的日志文件里,当发现某个分区容量或者inode使用量大于85%时候,发邮件提醒

【核心要点】

df

df -i

date +%F

【脚本】

#!/bin/bash

dir=/tmp/disk
d=`date +%F`

[ -d $dir ] || mkdir $dir

df >> $dir/$d.log
df -i >> $dir/$d.log

df | sed 1d | awk -F +|% $5>=85 {print $7} > $dir/df.tmp
df -i | sed 1d | awk -F +|% $5>=85 {print $7} > $dir/df_i.tmp

n1=`wc -l $dir/df.tmp | awk {print $1}`
n2=`wc -l $dir/df_i.tmp | awk {print $1}`

tag=0
if [ $n1 -gt 0 ]; then
    if [ $n2 -gt 0 ]; then
        tag=11
    else
        tag=10
    fi
else
    if [ $n2 -lt 0 ]; then
        tag=01
    else
        tag=00
    fi
fi

case $tag in 
    11)
        python mail.py "磁盘空间和inode使用率高于85%" "`cat $dir/df.tmp $dir/df_i.tmp | xargs`"
    ;;
    10)
        python mail.py "磁盘空间使用率高于85%" "cat $dir/df.tmp | xargs"
    ;;
    01)
        python mail.py "磁盘inode使用率高于85%" "cat $dir/df_i.tmp | xargs"
    ;;
    00)
        echo "没问题"
    ;;
esac

 

shell习题第17题:检测磁盘

原文:https://www.cnblogs.com/dingzp/p/10991065.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!