Скрипт проверяет заданный раздел на наличие свободного места. Если места меньше, чем задано — отправляется письмо на заданный ящик.
Переменные:
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