DaB*_*ter 26 linux disk-space-utilization amazon-ec2
运行 Amazon Linux AMI。CloudWatch 似乎不检查可用磁盘空间。我有许多服务器,理想情况下不想为每个服务器配置邮件服务器、检查磁盘空间的脚本等。
有没有更简单的方法来做到这一点?
EC2 控制和监视工具无法为您提供这些数据,因为您的实例的文件系统只能由实例本身访问。硬件的基本架构和安全模型都需要这种限制。想一想,如果您的计算机外的软件可以访问您硬盘上的文件,那该有多糟糕!
这是使 cron(无论如何都安装在大多数系统上)定期检查这些数据的低调方法。无论如何,您的系统应该具有处理根邮件通知的最低要求。我建议至少有一个实际的外发邮件代理,并配置 root 或管理员别名,以便在您管理的所有系统上转发给您。许多程序包括cron期望这种配置。
您可以将其添加到您的 crontab 中:
0 0 * * * test $(df / | grep ^/ | awk '{print $4}') -lt 1048576 && echo "Warning: Free disk space is less than 1G on /"
Run Code Online (Sandbox Code Playgroud)
为了打破这一点,这个
test命令使用-lt小于运算符和等于 1Gb 可用空间的固定值设置简单的 shell 比较。df命令测试/文件系统上的可用空间grep让你输出的只是线,你需要的不是头df包括。awkGET只是在输出第四列,自由空间数。&&表示仅当第一个命令 (the test x -lt y) 返回 true时才运行下一个命令。