实现需求:CentOS 7实现SHEEL脚本监控磁盘空间达到指定阈值时发送邮件至指定邮箱

操作环境:VWware下的CentOS 7.9

一、安装配置mailx

CentOS 7自带mailx软件包, 有/usr/bin/mail命令,

1、安装命令:

 yum install -y mailx

2、修改配置文件

 需要使用root用户vim /etc/mail.rc
 # 此处使用QQ邮箱# smtp服务器认证的用户名 set from=****@qq.com # smtp服务器的地址 set smtp=smtp.qq.com # 邮件认证的方式 set smtp-auth=login # smtp服务器认证的用户名 set smtp-auth-user=****@qq.com # smtp服务器认证的用户密码(授权码,此处邮箱为POP3/SMTP授权码)set smtp-auth-password=test_password # 忽略验证 set ssl-verify=ignore set nss-config-dir=/etc/maildbs/

3、测试邮箱

echo "邮件正文" | mail -s "邮件主题" 收件人地址

二、创建脚本

1、创建脚本

touch mail_qq_df.sh

2、为脚本添加可执行权限

chmod u+x mail_qq_df.sh

3、编辑脚本

vim mail_qq_df.sh

#!/bin/bash# 获取已用空间
arr_val=($(df -t xfs | awk '{print $5+0}'))# 获取当前日期
date=$(date +"%Y-%m-%d")# 获取IP地址
ip=$(ifconfig ens33 | awk '/netmask/ {print $2}')# 为$1参数设置默认值
arg=${1:-80}# 声明数组下标变量
j=0;# 循环便利arr_val
for i in ${arr_val[*]}
do# 获取文件系统分区arr_name=($(df -t xfs | awk '{print $1}'))# 判断空间是否大于阈值if [ $i -ge $arg  ]thenecho "$ip使用空间到达%$arg,请及时处理" | mail -s "磁盘空间报警" ****@qq.comfi# 将IP地址、文件系统、已用空间写入到log文件echo -e "$ip\t${arr_name[$j]}\t$i" >> /root/log/disklog_$date.logj=$[ $j + 1 ];
done

4、测试脚本

这里传参数将阈值设为30,测试邮件是否发送成功
sh mail_qq_df.sh 30

成功收到邮件,查看log文件

三、配置定时任务

crontab -e

#我根据个人需求,将阈值设为90
0 9 * * * /root/scripts/mail_qq_df.sh 90

CentOS 7实现SHEEL脚本监控磁盘空间达到指定阈值时发送邮件至指定邮箱相关推荐

  1. linux下监控磁盘空间脚本

    Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少.下面是给出的一个监控磁盘空间空间shell脚本的样本. robin@SZDB:~/dba_scripts/cust ...

  2. 查询linux磁盘剩余空间脚本,linux磁盘空间报警脚本

    今天分享个简单的监控磁盘空间脚本.其实shell脚本写起来不难,关键是你有整个脚本的思路! 好.大概思路是这样: 我现在想要监控/分区的空间使用量,若超过10%的话,发送一个报警短信! 首先,我们要如 ...

  3. centos docker环境下如何清理磁盘空间

    Docker 容器磁盘占用100%(/data/docker/overlay2空间占用显示) overlay 40G 40G 0G 100% /var/lib/docker/overlay2/{id} ...

  4. MS SQL 监控磁盘空间告警

    这几天突然有个想法:希望能够自动监控.收集数据库服务器的磁盘容量信息,当达到一个阀值后,自动发送告警邮件给DBA,将数据库磁盘详细信息告知DBA,提醒DBA做好存储规划计划,初步的想法是通过作业调用存 ...

  5. centos删除文件不释放_centos 磁盘空间不释放 各位有什么解决方案吗

    匿名用户 1级 2017-11-28 回答 未释放磁盘空间原因: 在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的文件夹结构上解除链接(unlink).然而假设文件是被 ...

  6. 解决CentOS删除文件后没有释放磁盘空间(lsof命令)

    当linux系统下启动多个服务且没有一定的清理机制时(比如日志),系统磁盘空间很容易就被打满,但是有时候删除了文件(比如nohup.out),却发现系统磁盘空间未释放,可能原因是忽略了有应用一直在往其 ...

  7. centos 6.4扩展挂载点磁盘空间

    环境:vmware 14,centos 6.4 目标:计划把根空间扩展到80G,目前是47G,需要另外增加30G. 一.查看当前挂载点信息 # df -h 查看磁盘分区信息,当前盘号:/dev/sda ...

  8. shell监控磁盘使用情况

    监控磁盘使用率 yum -y install mailx yum -y install sendmail 01 实现过程 一般我们通过df -hl这个命令来查看磁盘的使用率,如下: 比如上图中的例子( ...

  9. linux磁盘使用情况脚本,技术|用 Linux Shell 脚本来监控磁盘使用情况并发送邮件...

    市场上有很多用来监控 Linux 系统的监控工具,当系统到达阀值后它将发送一封邮件.它监控所有的东西例如 CPU 利用率.内存利用率.交换空间利用率.磁盘空间利用率等等.然而,它更适合小环境和大环境. ...

最新文章

  1. 尝试在视图不在窗口层次结构中的UIViewController上呈现UIViewController
  2. 忘关烤箱了?我用 Python 和 OpenCV 来帮忙
  3. 深入理解position:relative 与 position:absolute(divb相对于diva进行绝对定位)
  4. Python 面向对象 编程(一)
  5. InfluxDB基本使用说明
  6. 2DASL:目前最好的开源人脸3D重建与密集对齐算法
  7. linux root权限不够_Linux基础篇之用户管理
  8. 【转】simulink中的sample time设置
  9. Pytorch Tensor与Numpy ndarray的交互/相互转化
  10. 令人蛋疼的错误提示 0xcdcdcdcd ,0xdddddddd ,0xfeeefeee ,0xcccccccc ,0xabababab
  11. 除了 DBA, SQL 人还能胜任的黄金职业
  12. 手把手教你配置国内镜像源
  13. SPHYSICS流体力学仿真模拟程序的动态链接库编译及C#混合编程方法
  14. C++中在堆区用new开辟空间
  15. 2022.6.20-6.26 AI行业周刊(第103期):新的小生命
  16. 网络营销推广效果在于流量精准度!你做到了吗?
  17. 【C语言】声明与定义
  18. 2021年R2移动式压力容器充装考试内容及R2移动式压力容器充装模拟考试
  19. 1997年-2017年各省(直辖市、不包含西藏)能源投入(万吨标准煤)
  20. 如何关闭或更改Windows自带输入法繁体简体切换(Ctrl+Shift+F)的快捷键

热门文章

  1. linux在根目录下创建目录一test,Linux练习题
  2. innodb的索引下推
  3. 43款设计师必备英文设计字体-书法字体
  4. C# 程序间通信的各种途径及解析
  5. Java-对象数组以及内存图解
  6. Android中比较好的开源项目整理
  7. ID card No.
  8. 【光学】发散角的奥秘
  9. Particle for alexa smart home skill (1)
  10. sim900a 裸AT通过GPRS网络发送接收数据