inode使用率
题目要求
写一个shell脚本,检测所有磁盘分区使用率和inode使用率并记录到以当天日期为命名的日志文件里,当发现某个分区容量或者inode使用量大于85%时,发邮件通知你自己。
参考答案
#!/bin/bash dir=/tmp/disk d=`date +%F` mail=123@123.com [ -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 -gt 0 ] then tag=01 else tag=00 fi fi case $tag in 11) python mail.py $mail "磁盘空间和inode使用率高于85%" "`cat $dir/df.tmp $dir/df_i.tmp|xargs`" ;; 10) python mail.py $mail "磁盘空间使用率高于85%" "`cat $dir/df.tmp|xargs`" ;; 01) python mail.py $mail "磁盘inode使用率高于85%" "`cat $dir/df_i.tmp|xargs`" ;; *) ;; esac