X

Bash скрипт уведомления о заканчивающемся месте на hdd

Столкнулся с проблемой мониторинга дискового пространства на vps. База съела весь hdd, и системе не оставила места. Соответственно сайт перестал работать. Конечно, хорошо бы заранее позаботится об этом, но я просто забыл. Чтобы в будущем это не повторялось, поставил вот такой вот bash скрипт в крон, на запуск каждый час. Как только превышение будет больше 75%, начнут слаться письма, напоминающие о том, что пора бы увеличить ресурсы.

#!/bin/sh

SUBJECT="Low disk space alert"
EMAIL="email@gmail.com"
MSGFILE="/tmp/email-low-disk-alert.msg"
SEND_LIMIT_THRESHOLD=75

set `df | grep -o '/dev/simfs.*' | awk '{i=split($0,info," "); print(substr(info[5],0,length(info[5])-1));}'`

if [[ $1 =~ "^[0-9]+$" ]]; then
if [ $1 -gt $SEND_LIMIT_THRESHOLD ]; then
echo "Low disk space alert! Usage: $1%";
echo "Low disk space alert! Usage: $1% ( limit $SEND_LIMIT_THRESHOLD% )">$MSGFILE;
echo "--------------------------------------------------------">>$MSGFILE;
df -ha>>$MSGFILE;
/bin/mail -s "$SUBJECT" "$EMAIL" < $MSGFILE;
else
echo "Normal disk space usage: $1%";
fi;
fi;
Категории: Linux