Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
11 Август 2014

Bash скрипт контроль места на диске linux

Куда-то начало «уходить» место на диске, из-за чего нехватка места под временные таблицы mysql — как результат падение всех сайтов на серваке, что весьма неприятно.
Куда именно «ушло» свободное место — это я разберусь чуть позже, а вот сейчас на повестке у меня вопрос контроля подобных ситуаций.
Т.е. нужен скрипт по крону проверяющий (раз в час думаю достаточно) свободное место и в случае его нехватки сигнализирующий мне об этом на почту и СМС уведомлением на мобильный.
После недолгих поисков скрипт был найден тут

#!/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

В последней проверке я ещё добавил пару строк отсылающих мне результат на почту и в мыло.
Всё — теперь, как говориться, «предупреждён значит вооружен» 🙂

P.S.
При чистке — само собой по сайтам и базам данных всё лишнее проверить (бэкапы старые, сайты и базы для разработки, вообще старые сайты и т.д. и т.п.)
почта юзеров /var/mail/
все логи /var/log/
и у меня ещё забилась очередь postfix
postsuper -d ALL deferred

/var/spool/postfix/defer — тут хидеры
/var/spool/postfix/deferred — а тут тушки писем
чистим postsuper -d ALL deferred и postsuper -d ALL deferr соответственно

рубрики: NIX, Администрирование, Полезности, Программирование | Комментарии (1)