[ОТВЕТИТЬ]
Опции темы
07.05.2012 09:46
 
накидал тут. первые, что нагуглились не устраивали по разным причинам.
Код:
#!/bin/bash
# Free space check
# $1 - device name
# $2 - space limit in Gb
# $3 - mount point synonym (not mand.)

if [ -z "$2" ]; then
 echo empty parameters
 exit 100
fi
TEMP=$(df -B G | grep $1 | awk '{print $4}' | sed 's/G//')
FREE=$(echo $TEMP | cut -d. -f1)
MNT=$3
if [ -z "$MNT" ]; then
 MNT=$1
fi
if [ $2 -ge $FREE ]; then
 echo $MNT" -=> "$FREE"Gb"
fi
пример использования
./chk_free_space /dev/sdb1 100 "Внешний WD"
первый - имя девайса в выводе df
второй - лимит свободного пространства, после которого орать
третье (если задан) - как выводить устройство в сообщении (если не задан = первому)
"Спасибо" OlegON от:
09.05.2012 15:02
 
Надо бы код возврата еще добавить. Чтобы его можно было в других скриптах юзать неинтерактивно.
09.05.2012 16:16
 
а это что?
Цитата:
exit 100
09.05.2012 16:25
 
Это, как я понимаю, ошибка, которая возвращается в случае отсутствия параметров. А было бы еще неплохо возвращать результат проверки свободного места. 0 - все ок, запрошенное количество свободного места имеется. 1 - на указанном устройстве свободного места меньше, чем запрошено.
09.05.2012 19:22
 
А... Точно... Ну это просто...
Добавить одну строку.
Код:
echo $MNT" -=> "$FREE"Gb"
exit 1
Я просто в крон его пхнул. Т.е. чтобы если будет нехватка места, выведется сообщение и упадет мне в почту.
09.05.2012 19:35
 
Да, я понял. Теперь просто отлично получилось.
Опции темы



Часовой пояс GMT +3, время: 05:07.

Все в прочитанное - Донат - RSS - - Карта - Вверх

Форум сделан на основе vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.