pair.comでホストされている当社のWebサーバーは、20GB以上の100%以上のディスク容量を使用しています。
使用されているディスク容量が95%満たされたときに2つのEメールアドレスにEメールを送信するcronスクリプトを作成しようとしています。
このスクリプトがありますが、何が間違っているのかわかりません。
#!/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で正しいパス $HOME/disk-usage-alert.sh を使用して cron ジョブを作成し、sudo chmod u+x disk-usage-alert.sh を実行し、スクリプトを正しいフォルダ /usr/home /us 省略形ペア
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.
現時点では、これ以上コメントがないので、これらの主な問題を修正し、正しく機能していることを確認することをお勧めします。