您的位置:首页 > 运维架构 > Shell

shell 脚本监控磁盘使用情况,并邮件预警通知

2018-11-19 18:43 465 查看

版权声明:本文为博主原创文章,转载请注明CSDN博客源地址!共同学习,一起进步~ 

https://blog.csdn.net/qq_29473881/article/details/84257772

shell 脚本监控磁盘使用情况,并邮件预警通知:

[code]#!/bin/bash
echo "--monitoring--"
for d in `df -P | grep /dev | awk '{print $5}' | cut -f 1 -d "%"`
do
if [ $d -gt 1 ]
then
echo "over!"
cat /test/a.txt | mail -s "mail subject" ******@163.com
else
echo "normal!"
fi
done

稍微解释下关键代码的意思:

                            for d in `df -P | grep /dev | awk '{print $5}' | cut -f 1 -d "%"`

其中第一个  `  符号是Esc下面的那个符号,这个别弄错。'{print $5}' 是英文的小顿号,$5 为使用磁盘的大小,把%好截取掉了。截取use的数值,如下图:

因为在虚拟机上测试的,硬盘使用比较少,就设定超过5%的时候就发邮件警告了,实际运用时可改成90%,另外经测试发现QQ邮箱不行,接收不到邮件。163邮箱可以,其它邮箱还未测试。

测试结果:

a.txt 文件内容:

  cat /test/a.txt | mail -s "mail subject" ******@163.com

这行代码,即把a.txt文件的内容直接发送到指定邮箱里面去。

另外,通过 crotab -e 命令设置crotab定时时间,设置为没三小时执行一次脚本

(可查看此篇文章详细介绍crotab的定时设置  https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html)

注意事项:

切勿直接copy代码,自己手写最好,以免出现编码格式问题。如有问题,请留言

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: