我刚刚处理完一个空间不足的服务器,现在想在其上设置监控,以防止它将来出现严重问题。
我希望root
当可用空间低于xx
% 时,向帐户发送一封电子邮件(转发到我的工作电子邮箱),并且它是可配置的。
我知道我可以使用df -h
命令来获取人性化文本布局,但我并不想每天都收到报告。我只希望在某些分区/挂载点已满且剩余空间不足一定百分比时才向我发送报告。
我擅长编写脚本,但我不知道该怎么做。下面是我手动运行的命令的示例输出:
# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 74G 6.4G 64G 10% /
udev 10M 0 10M 0% /dev
tmpfs 387M 320K 387M 1% /run
/dev/disk/by-uuid/615e2eca-0e01-4f3f-99d3-5a0560a78f9a 74G 6.4G 64G 10% /
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 773M 0 773M 0% /run/shm
/dev/md0 939M 51M 841M 6% /boot
/dev/md3 844G 535G 266G 67% /images
/dev/md2 2.7T 1.7T 955G 64% /var
答案1
这应该可以让你开始:
#!/bin/sh
MOUNTPOINTS="/ /home"
THRESHOLD=90
for MOUNT in ${MOUNTPOINTS}; do
CURRENT=$(df ${MOUNT} | grep / | awk '{ print $5}' | sed 's/%//g')
if [ "${CURRENT}" -gt "${THRESHOLD}" ] ; then
mail -s 'Disk Space Alert' root << EOF
Your ${MOUNT} partition remaining free space is critically low. Used: ${CURRENT}%
EOF
fi
done
这是基于以下代码的马利克·阿琼。