如果您在服务器上运行关键任务,那么监控磁盘使用情况并在达到阈值时通知管理员是非常重要的。本文将介绍如何编写一个脚本来自动监控磁盘使用情况,并在达到阈值时将报告发送到您的邮箱。
在本文中,我们将编写一个 shell 脚本,在 crontab 中指定固定时间间隔监控磁盘使用情况,并在报告达到指定阈值时通过电子邮件发送报告。
首先,需要确保系统安装了 mail 命令和 postfix 发送邮件服务。下面是在 Centos8 中安装这些工具的命令:
[root@localhost ~]# yum -y install mailx postfix [root@localhost ~]# systemctl enable --now postfix登录后复制
下面使用mail命令发送邮件测试:
[root@localhost ~]# echo "This message will go into the body of the mail." | mail -s "Testing from the server." root@localhos登录后复制
本文不讲解如何配置smtp服务。
测试磁盘使用情况的脚本
以下是测试磁盘使用情况并将报告发送到指定邮箱的脚本。脚本的解释在代码片段之后给出。
[root@localhost ~]# vim disk-monitor.sh #!/bin/bash MAILID="admin@linuxprobe.com" VALUE=80 SERVERNAME=$(hostname) MAIL=/bin/mail for line in $(df -hP | egrep '^/dev/' | awk '{ print $1 "_:_" $5 }') do FILESYSTEM=$(echo "$line" | awk -F"_:_" '{ print $1 }') DISK_USAGE=$(echo "$line" | awk -F"_:_" '{ print $2 }' | cut -d'%' -f1 ) if [ $DISK_USAGE -ge $VALUE ]; then EMAIL="$SERVERNAME - $(date): $FILESYSTEM Exceeded the threshold VALUE " EMAIL="$EMAIL Usage Details Current Usage:($DISK_USAGE%) Threshold value: ($VALUE%)" echo -e "$EMAIL" | $MAIL -s ""$SERVERNAME" Disk Usage Alert: Needs Attention!" "$MAILID" elif [ $DISK_USAGE -lt $VALUE ]; then EMAIL="$EMAIL $FILESYSTEM ($DISK_USAGE%) is lessthan the threshold ($VALUE%)" EMAIL="$EMAIL " echo -e "$EMAIL" | $MAIL -s ""$SERVERNAME" Disk Usage Alert: Threshold Not Reached" "$MAILID" fi done登录后复制
监控脚本说明
上述脚本使用df -hP命令获取内存信息。
环境变量MAILID保存必须在其中发送报告的邮箱地址。
VALUE 保存要设置的阈值。
SERVERNAME 保存服务器的主机名,用于电子邮件通知中的服务器标识。
使用 for 循环,它将遍历所有具有“/dev”挂载点的文件系统。然后它将文件系统名称和磁盘使用百分比保存到两个变量FILESYSTEM 和 DISK_USAGE。
使用上述变量,磁盘使用量等于阈值 VALUE 变量。根据结果,将向指定的邮箱发送一封电子邮件。
监控脚本执行
下面需要修改一下disk-monitor.sh脚本的权限,为它添加可执行权限:
[root@localhost ~]# chmod +x disk-monitor.s登录后复制
使用下面方式运行脚本:
[root@localhost ~]# ./disk-monitor.s登录后复制
自动化监控过程
手动运行脚本没有任何意义,因为我们希望自动运行该过程。自动运行该过程的最佳方法是将脚本添加到 crontab配置文件中。
使用下面方式打开crontab:
[root@localhost ~]# crontab -登录后复制
将下面内容添加到配置文件中:
*/5 * * * * sh /home/ec2-user/disk-monitor.sh登录后复制
以上就是Linux —— 用于自动监控磁盘使用情况的 Shell 脚本的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » Linux —— 用于自动监控磁盘使用情况的 Shell 脚本
发表评论 取消回复