Куда-то начало «уходить» место на диске, из-за чего нехватка места под временные таблицы 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 соответственно
Один комментарий на «“Bash скрипт контроль места на диске linux”»
Спасибо что поделились полездной информацией, это должно облегчить жизнь многим.