Bash скрипт уведомления о заканчивающемся месте на hdd
Столкнулся с проблемой мониторинга дискового пространства на vps. База съела весь hdd, и системе не оставила места. Соответственно сайт перестал работать. Конечно, хорошо бы заранее позаботится об этом, но я просто забыл. Чтобы в будущем это не повторялось, поставил вот такой вот bash скрипт в крон, на запуск каждый час. Как только превышение будет больше 75%, начнут слаться письма, напоминающие о том, что пора бы увеличить ресурсы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
#!/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; |
Author: | Tags: /
| Rating:
Leave a Reply