[ОТВЕТИТЬ]
Опции темы
07.05.2012 09:46  
OlegON
накидал тут. первые, что нагуглились не устраивали по разным причинам.
Код:
#!/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  
FractalizeR
Надо бы код возврата еще добавить. Чтобы его можно было в других скриптах юзать неинтерактивно.
 
09.05.2012 16:16  
OlegON
а это что?
Цитата:
exit 100
 
09.05.2012 16:25  
FractalizeR
Это, как я понимаю, ошибка, которая возвращается в случае отсутствия параметров. А было бы еще неплохо возвращать результат проверки свободного места. 0 - все ок, запрошенное количество свободного места имеется. 1 - на указанном устройстве свободного места меньше, чем запрошено.
 
09.05.2012 19:22  
OlegON
А... Точно... Ну это просто...
Добавить одну строку.
Код:
echo $MNT" -=> "$FREE"Gb"
exit 1
Я просто в крон его пхнул. Т.е. чтобы если будет нехватка места, выведется сообщение и упадет мне в почту.
 
09.05.2012 19:35  
FractalizeR
Да, я понял. Теперь просто отлично получилось.
 
 
Опции темы



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

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