【题目要求】

写一个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=
if [ $n1 -gt ]; then
if [ $n2 -gt ]; then
tag=
else
tag=
fi
else
if [ $n2 -lt ]; then
tag=
else
tag=
fi
fi case $tag in
)
python mail.py "磁盘空间和inode使用率高于85%" "`cat $dir/df.tmp $dir/df_i.tmp | xargs`"
;;
)
python mail.py "磁盘空间使用率高于85%" "cat $dir/df.tmp | xargs"
;;
)
python mail.py "磁盘inode使用率高于85%" "cat $dir/df_i.tmp | xargs"
;;
)
echo "没问题"
;;
esac

最新文章

  1. JS判断网页是否在微信中打开/
  2. JS获取浏览器窗口大小 获取屏幕,浏览器,网页高度宽度
  3. 控制台屏蔽某console的输出
  4. 快速入门系列--WCF--06并发限流、可靠会话和队列服务
  5. PostgreSQL Replication之第十二章 与Postgres-XC一起工作(7)
  6. Hibernate常用配置文件详解
  7. Audio Capture 录音
  8. C# 查找指定名称的控件(转)
  9. PHP SOCKET 编程
  10. 虚拟现实外包—动点飞扬软件专门承接VR/AR场景、游戏、项目外包
  11. shell笔记-常用
  12. linux之测试硬盘速度篇
  13. JS-详解算数运算符"+"
  14. 用于模型选择的AIC与BIC
  15. docker-compose安装与部署项目
  16. linux下寻找段错误的方法
  17. vue和react动画区别
  18. sourcetree回退已推送的代码
  19. MFC-Dialog各函数的执行顺序
  20. 理解 php new static

热门文章

  1. Jenkins+Ant+Git+Jmeter接口自动化
  2. DB缓存一致性
  3. Eclipse的下载地址
  4. 总结SQL查询慢的50个原因
  5. microsoft 官方学习资源
  6. Java NIO 学习笔记 缓冲区补充
  7. 移动端BI的设计
  8. 解析Python编程中的包结构
  9. 解决PLSQL Developer中的乱码问题
  10. Spring Boot确保Web应用安全(登陆认证)