ログの多いアプリを扱う時、クラウドサービス(AWSやGCP)使っていれば気にならないのですが、自前でサーバ持ってる場合だと毎日確認>自動チェック処理を作っておく。
以下のようなコーディング使ってshellにして、後はcronで時間指定して稼働させる。
#!/bin/bash # 閾値(%) : どれぐらいの容量を超えているか?の閾値を決めておく ここでは70%に設定 LIMIT=70 # メール件名 SUBJECT="[注意]サーバ容量check_mail(送信時点) - `hostname`" # メール宛先 mailaddress=test@test.co.jp # df コマンドの結果を1行ずつチェック while read LINE do # パーセンテージ取得 PER=`echo $LINE | sed 's/^.* \([0-9]*\)%.*$/\1/'` # 閾値を超えたら df コマンドの内容をメール送信 if [ $PER -gt $LIMIT ]; then echo -e "`df -h`" | mail -s `echo "${SUBJECT}" | nkf -w` ${mailaddress} break fi done < <(df | grep '[0-9]\{1,\}%')
crontabでこんな感じの設定をしておく (毎朝10:00分に自動でshellを実行)
0 10 * * * /bin/sh /home/test/check_mail/shl/test_capacity_check_send.shl