サーバーの負荷が高すぎる場合は、スクリプトを使用して通知をメールで送信しようとしています。良いものを見つけましたが、実行するとエラーが発生し、理由がわかりません。
以下のコードを実行すると、エラーが発生します。
13行目:予期しないトークン`fi'の近くの構文エラー
でも、正しくレイアウトしなければならないと思いました。ありがとう!
#!/bin/bash
THR=10
MAIL="address@domain.com"
VAR=`uptime|awk -F, '{print $4}'|awk '{print $3}'`
OUT=`echo "$VAR $THR" | awk '{if ($1 > $2) print "yes"; else print "no"}'`
if [ "$VAR" == "" ]
then
# it's within the first 24 hours of uptime
VAR=`uptime|awk -F, '{print $3}'|awk '{print $3}'`
OUT=`echo "$VAR $THR" | awk '{if ($1 > $2) print "yes"; else print "no"}'`
fi
if [ "$OUT" == "yes" ]
then
echo "The current load $VAR is greater than the threshold $THR" | mail $MAIL
-s "Server Load Alert"
echo "Alert generated because $VAR is greater than $THR"
else
echo "No alert as $VAR > $THR"
fi
echo "load = $VAR"