ディスク空き容量チェックメール自動送信
動作確認済みシステム Debian 11
サーバでは、空き容量がなくなると、以下のような問題が起こりえます。
- アップデートの適用ができない
- データを作成できない
- ログが残せない
これを予防するために、定期的に空き容量をチェックすべきでしょう。
そこで、定期的にディスクの空き容量を確認してメールで送信するスクリプトを作成します。
cd /root/bin/
vi check_df.sh
#!/bin/bash
HOSTNAME="Digitalmania.info"
MAILADDR=administrator@digitalmania.info
LIMIT=90
SUBJECT="[$HOSTNAME] Disk Free Space Check Results"
while read LINE
do
PER=`echo $LINE | sed 's/^.* \([0-9]*\)%.*$/\1/'`
if [ $PER -gt $LIMIT ]; then
SUBJECT="<WARN!> $SUBJECT"
fi
done < <(df | grep '[0-9]\{1,\}%')
df -h | mail -s "$SUBJECT" $MAILADDR
使用量が90%を超えているものがあれば、タイトルの先頭に「<WARN!>」を付けるようにしています。
作成したスクリプトに実行権限を与えます。
chmod +x check_df.sh
作成したスクリプトを文法チェックします。
/bin/bash -n check_df.sh
何も表示されなければ、文法チェックOKです。
定期実行の設定を行います。
vi /etc/cron.d/check_df
MAILTO=root
00 0 * * 0 root /root/bin/check_df.sh
毎週日曜日の0時にrootユーザで/root/bin/check_df.shを実行する、という設定です。