サーバーの容量を監視して通知

この記事 を参考に。 せっかく Pushover を使っているので、これに投げてもらう。curl で楽をする。

$ vi check_df.sh
#!/bin/bash

LIMIT=90
SUBJECT="[WARN] The capacity of the disk has decreased! - `hostname`"

while read LINE
do
    PERCENT=`echo $LINE | sed 's/^.* \([0-9]*\)%.*$/\1/'`
    if [ $PERCENT -gt $LIMIT ]; then
        curl -s --form-string "token=tkn123" --form-string "user=usr123" --form-string "message=$SUBJECT $PERCENT%" https://api.pushover.net/1/messages.json
        break
    fi
done < <(df | grep '[0-9]\{1,\}%')
$ chmod 755 check_df.sh

LIMIT を低く設定して、動作テスト。

$ ./check_df.sh

通知が送られてくれば OK。

とりあえず毎日18時にチェックして通知。

$ crontab -e
0 18 * * * /home/username/check_df.sh >/dev/null 2>&1