服务器中磁盘空间短缺问题的通知

tan*_*507 5 ubuntu monitoring disk-space-utilization

我有一个 ubuntu 服务器,并且经常面临空间问题,即日志占用了大量磁盘空间。因此,我希望应用检查,以便每当可用磁盘空间少于 5 GB 时,我都会收到一封电子邮件通知,以便我可以删除日志。我该如何配置。我需要任何其他应用程序吗?

小智 10

您可以使用Nagios来监控和发送电子邮件。但是,在设置监控之前,我会先设置logrotate以定期轮换日志文件。

适当的系统取决于您托管服务器的位置。例如,如果它托管在 AWS 上,您可以配置 Amazon 的内置CloudWatch来监控其运行状况,而不是部署新的监控解决方案。

  • +1 不仅用于回答名义问题,而且还使用 logrotate 以避免首先需要手动干预。 (3认同)
  • 蒙蒂哈德说的话。 (2认同)

Cal*_*imo 4

在我的 Ubuntu 服务器上,我有以下脚本,只要(我的分区)可用空间少于 200MB,它/etc/cron.daily就会通过电子邮件提醒我。/dev/sdc/srv

ALERT=200
UNIT=M
PARTITION=/dev/sdc

df -B$UNIT | grep "^$PARTITION" |
while read partition size used free perc mnt ;
do
        free_space=$(echo $free | tr -d $UNIT )
        if [ $free_space -le $ALERT ]; then
                echo "Partition $partition ($mnt) running out of space ($free) on $(hostname) as on $(date)" |
                mail -s "Alert: $mnt almost out of disk space on $(hostname) - $free" root
        fi
done
Run Code Online (Sandbox Code Playgroud)

它最初取自并改编自 nixCraft 上的这篇博客文章。以 root身份将其保存到文件中/etc/cron.hourly,修改前 3 行以满足您的服务器和需求,并使文件可执行。如果您希望更频繁地执行它,请将其另存为脚本并创建常规 cron 作业。

请注意,您将需要提供mail命令的东西,通常来自包qmail-runcourier-mta.