BASH: скрипт проверки свободного места

Автор: | 09/03/2013
 

terminalСкрипт проверяет заданный раздел на наличие свободного места. Если места меньше, чем задано – отправляется письмо на заданный ящик.

Переменные:

FREE – реальное имеющееся свободное место;
MIN – минимально доступное место, при достижении которого будет Alarm;
TO – ящик, на который слать Alarm;
SBJ – тема письма

Необходимо уточнить какой раздел проверять, в примере это /dev/da0p3 (root).

Путь к интерпретатору – в примере /usr/local/bin/bash, для FreeBSD.

Параметр, который будем обрабатывать как FREE – в примере это awk '{print $4}', т.е. колонка Avail в выводе df -h.

#!/usr/local/bin/bash
FREE=`df -h | grep da0p3 | awk '{print $4}' | sed '{s/.$//;}'`
MIN=1000
TO="email@domain.com"
SBJ="Alarm - free space"

echo $FREE

if [ $FREE -lt $MIN ]
	then
		echo $FREE | mail -s $SBJ $TO
		echo "Huston, we have a problem!"
	else
		echo "Good!"
fi