【题目要求】
写一个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