当 Linux 服务器磁盘已满时发送电子邮件?

当 Linux 服务器磁盘已满时发送电子邮件?

如何在 Linux 服务器上设置当磁盘/卷超出一定使用配额时的电子邮件通知?

答案1

选项1:
编写一个运行的脚本df,解析输出以获取百分比利用率并在超过给定阈值时发送电子邮件,然后从 cron 运行此脚本。
(如果你懒得找,可以通过询问找到一堆预先写好的脚本一切事物的知晓者为了Unix Disk space check script。)


选项 2(更好的解决方案):
部署监控系统(纳吉奥斯地图绘制者开放网络管理系统等——在这里查看大量建议和意见),并将其配置为在磁盘填满时向您发送通知。同时,您可以为您可能关心的其他内容配置警报 :-)

答案2

解决方案 2 也得一分!我向您推荐“Monit”软件,它非常轻巧且易于配置: http://mmonit.com/monit/

答案3

对于没有监控系统的人来说,这个简单的脚本可以完成这项工作:

#!/bin/bash
CURRENT=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
THRESHOLD=90

if [ "$CURRENT" -gt "$THRESHOLD" ] ; then
    mail -s 'Disk Space Alert' [email protected] << EOF
Your root partition remaining free space is critically low. Used: $CURRENT%
EOF
fi

然后只需添加一个 cron 作业。

答案4

以上选项 2 为 +1。您可能认为现在只需要监控磁盘空间,但实际情况是您几乎肯定需要监控不止一台或两台服务器。从长远来看,这将以让您惊讶的方式为您带来好处。

我个人推荐 Zenoss,它很棒,设置和启动都相对简单,而且文档很完善。

相关内容