我正在寻找一种简单的方法,当服务器的磁盘空间超过 X % 或可用空间少于 X Mb 时,就会收到电子邮件警报。
我不需要任何特别的东西,我不需要图表或类似的东西,只需要一封电子邮件,让我知道我的服务器何时即将耗尽空间,以便我可以运行清理作业。现在我正在研究使用 Jenkins 设置清理作业,我只是需要一些东西来确保服务器继续运行。
这是用于 Ubuntu 服务器的。
答案1
我建议你认真看看监控.它是一个轻量级的本地监控工具。
用于监控根文件系统的配置看起来很简单。
check filesystem rootfs with path /
if space usage > 80% then alert
全局monit
配置看起来就像这样。
set daemon 180 # check services at 3-minute intervals
# with start delay 240 # optional: delay the first check by 4-minutes
set logfile syslog facility log_daemon
set alert [email protected]
set mailserver mailserver.example.org
答案2
您可能可以在 roots crontab 中执行以下操作:
10 * * * * [ $(/bin/df --output=used /dev/diskid | /usr/bin/tail -1) -gt CHECKSIZE ] && /bin/mail -s "/dev/diskid 太大"[电子邮件保护]
此命令基本上会自动检查已使用的空间量,如果空间量较大,CHECKSIZE 将向您发送电子邮件。它只是简单地执行“df”来获取已使用的磁盘量。
但实际上,如果您要运行多个服务/服务器,您应该考虑 Nagios - 虽然设置起来有点麻烦,但它是一个很好的框架,可以随时检查所有内容,并且有很多免费插件。大多数知名公司都会运行它(或类似的东西)