如何获得磁盘空间不足警报?

如何获得磁盘空间不足警报?

我们托管在pair.com 的网络服务器现在使用了超过100% 的允许磁盘空间,即20GB。

我尝试创建 cron 脚本,当已用磁盘空间已满 95% 时,该脚本会向 2 个电子邮件地址发送电子邮件。

我有这个脚本,但我不知道出了什么问题:

#!/bin/bash

for a in "$(du -s /usr/home/ourshortnameinpair)"
do
spc=$(echo $a|cut -d" " -f1)
if [ $spc -gt 1000 ]
then
echo "alert on $1, the space is $spc"|mail ouremailaddresshere -s "Alert space"
fi
done

在 my.pair.com ACC 中,我使用正确的路径创建了 cron 作业: $HOME/disk-usage-alert.sh 并执行 sudo chmod u+x disk-usage-alert.sh 并将脚本上传到正确的文件夹 /usr/home /我们的简称成对

https://www.pair.com/support/kb/configuring-cron/#a-note-on-cron-job-commands

答案1

请用外壳检查在此处发布您的脚本之前。

Line 3:
for a in "$(du -s /usr/home/ourshortnameinpair)"
         ^-- SC2066: Since you double quoted this, it will not word split, and the loop will only run once.
 
Line 5:
spc=$(echo $a|cut -d" " -f1)
           ^-- SC2086: Double quote to prevent globbing and word splitting.

目前我没有任何进一步的评论,因此我建议纠正这些主要问题,看看它是否有效。

相关内容