*nix: Пример мониторинга свободного места на диске
Наверное, все встречались, когда на том или ином разделе жесткого диска места уже нет. А иногда и просто забываешь проконтролировать место на диске.Данный скрипт написан по принципу настроил и забыл.
Код:
#!/bin/sh
address="root@localhost";
cicl="2 3 4 5 6";
# выставляем в процентах порог заполненного места для каждого раздела,
# при котором отсылается сообщение
predel[2]=80; # /
predel[3]=80; # /usr
predel[4]=60; # /var
predel[5]=80; # /tmp
predel[6]=80; # /home
varning="0";
count=0;
df -h > /tmp/tmp_df;
while read -r FS S Ud A U MO; do
let count+=1;
FileSystem[$count]=$FS;
Size[$count]=$S;
Used[$count]=$Ud;
Avail[$count]=$A;
Use[$count]=$U;
MountedOn[$count]=$MO;
NUse[$count]=${Use[$count]%"%"};
done < /tmp/tmp_df;
table="";
for c in $cicl; do
if [[ ${NUse[$c]} -ge ${predel[c]} ]]; then
varning="1";
table=$table"\n${FileSystem[$c]} \t${Size[$c]} \t${Used[$c]} \t${Avail[$c]} \t${Use[$c]} \t${MountedOn[$c]}";
fi
done
shapka="\nFileSystem \tSize \tUsed \tAvail \tUse \tMounted On";
body="Regard admin, please check, place on disk:"$shapka$table;
#echo -e $body;
if [ $varning -eq "1" ];
then
echo -e $body | mail -s"Warning on server" $address;
logger -i -p cron.warn -t dfmonitor "Send warning to $address";
else
logger -i -p cron.info -t dfmonitor " Place on disk in rate";
fi
Основной особенностью программы является возможность получения полной информации как о текущем соединении с сетью, так и информации о всех соединениях с сетью ежемесячно. Существует возможность
Комментарии
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.