как сделать сообщение, если закончилось свободное место...
Eagle 19 октября, 2010 - 14:22
подскажите пожалуйста,
возможно ли сделать так(или может уже готовые программы есть)
если на разделах sda* доступно свободного места меньше *%, то отправить сообщение на почту(или подобное, записать в файл)
»
- Для комментирования войдите или зарегистрируйтесь
А не проще такого не
А не проще такого не допускать? Например, logrotate для логов решает часть спектра проблем, с которыми столкнулись Вы.
Не совсем так же то, но logwatch предупреждает в своем отчете, если процент свободного дискового пространства достиг 10%.
Плюс многие программы, которые пишут массивные логи часто имеют свои средства ротации.
Вы бы уточнили свою проблему и телепатам было бы легче. ;)
Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!
пишешь скрипт, который
пишешь скрипт, который проверяет свободное место на нужных разделах и в случае максимальной занятости отправляет письмо на мыло... бросаешь в крон и вуаля ))
во, именно пример такого
во, именно пример такого скрипта мне и нужен:)
проблем пока нет, но кто знает, как часто будем смотреть(сколько свободного места)
ротацию логов сделаю
и попробую поразбираться с logwatch(спасиб)
Самый простой пример. Покажет
Самый простой пример. Покажет заполненность больше 40%. Можно доделать, чтоб мониторил не все точки монтирования, а только нужные
что-то получилось, главное
что-то получилось, главное работает
(нашел пример, сделал под себя, кому нужно пусть будет еще один пример, тут)
MAIL="name@mail.ru" # куда отправлять
BOUNDARY="newlog-`date +%s`-$$"
TMP_MAIL_DIR="./free_space_send_report" # директория для отчета
## --- проверяем наличие директории, если нет, то создаем
## (для удобства, если будет удалена директория)
if [ -d $TMP_MAIL_DIR ]; then
echo "DIR ок"
else
echo "создаем директорию, т.к. её нет"
mkdir $TMP_MAIL_DIR
fi
## ---
TMPMAIL_SDA3=$TMP_MAIL_DIR/mail_SDA3.$$
# -------
MIN_MB_SDA3=10485760 # порог (10Гб) срабатывания отправки отчета в килобайтах.
# -------
DISK_SDA3=`df /dev/sda3 | grep dev |awk '{ print $4 }' `
# --- проверка свободного места на SDA3 ----
if [ $DISK_SDA3 -lt $MIN_MB_SDA3 ]; then
echo "send mail sda 3"
echo "To: $MAIL" > $TMPMAIL_SDA3
echo "Subject: log server (sda3)" >> $TMPMAIL_SDA3
echo "Mime-Version: 1.0" >> $TMPMAIL_SDA3
echo "Content-Type: multipart/mixed; boundary=$BOUNDARY" >> $TMPMAIL_SDA3
# Create first part of the mail
echo "--$BOUNDARY" >> $TMPMAIL_SDA3
echo "Content-Type: text/plain; charset=utf-8" >> $TMPMAIL_SDA3 #кодировка письма
echo "" >> $TMPMAIL_SDA3
echo "`df /dev/sda3 -h |grep dev |awk '{ print $1 " ..... (" "свободно: " $4 " из " $2 ")\t" }' `" >> $TMPMAIL_SDA3
echo "текст" >> $TMPMAIL_SDA3
echo "`date`" >> $TMPMAIL_SDA3
echo "" >> $TMPMAIL_SDA3
echo "--$BOUNDARY--" >> $TMPMAIL_SDA3
ssmtp -v $MAIL < $TMPMAIL_SDA3 # отправляем
else
echo "sda3 OK"
fi
только квоты, однозначно.
только квоты, однозначно. 100500 раз видел подобные скритпы, и столько же раз они фейлили - нет места на разделе и соотв почта никуда не уходит :)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Особенно если в скрипте
Особенно если в скрипте прописать отправку почты после достижения 101 процента заполнения :)