Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Hej
Mam prośbe czy moglby ktos napisac skrypt, który jeżeli meijsce na dysku przekroczy np. 90% na jakiejś partycji wypisze mi komunikat na ekranie.
Z góry dziekuje
pozdrawiam
Offline
Hej
Mam prośbe czy moglby ktos napisac skrypt, który jeżeli meijsce na dysku przekroczy np. 90% na jakiejś partycji wypisze mi komunikat na ekranie.
Z góry dziekuje
pozdrawiam
nagios wyśle Ci nawet e-mail :)
Tylko co to znaczy "miejsce na dysku przekorczy 90% na jakiejś partycji"? ;)
Offline
kombinacja df -h, grep'a cut'a i bc powinna wystarczyć. No mozesz jeszcze dodać do tego xdialog i powinno śmigać. Przy czym aby sprawdzał zajętośc dość często to można by wrzucić skrypt do crona lub kombinowac jakimiś narzędziami od demonów (ale nie bawiłem sie nigdy w takie farmazony ;-) )
Offline
HMmmm no nie wiem jak to zrobić,ale w srodowisku kde był taki tam bajer można było go ustawiać na takie fikimiki.Niestety pamięć mam krótką i nei pamietom jak śię ten programos nazywoł.
Offline
Bardzo prosty skrypt:
#!/bin/bash polecenie=`df -m | grep /dev/hd | awk -F " " '{ print $5 }' | cut -b 1-2` for X in $polecenie do if [ $X -ge 90 ]; then echo "na partycji przekroczono 90%" fi done
Skrypt pisany na szybciocha, nie dziala moze super, ale moze byc poczatkiem do dalszego pisania :) Wypisuje na ekranie informacje o przekroczeniu miejsca tyle razy ile znalazl partycji z przekroczonym limitem. Kod sypie bledem jezeli zajete miejsce nie jest liczba 2 cyfrowa, ale ogolnie.. dziala ;))
Offline
dziekuje za pomoc .. a z nagiosem kiedys walczyłem niestety poległem :(
pozdrawiam i jeszcze raz dziękuje
Offline
tylko mam pytanko raixer .. bo nie pisze tam jakiej partycji się to tyczy .. ;( (to przekroczenie o 90%)
Offline
to się wszystkich zamontowanych partycji tyczy prócz /dev/ i jeśli posiadasz shm
Offline
no tak, tylko fajnie jakby wyszczególniał która partycja ma przekroczenie :)
Offline
Oj zyga zyga... nic nie myslisz :P
#!/bin/bash polecenie=`df -m | grep /dev/hd | awk -F " " '{ print $5 }' | cut -b 1-2` for X in $polecenie do if [ $X -ge 90 ]; then echo -n "na partycji przekroczono 90% na " echo `df -m|grep $X|cut -d ' ' -f1` fi done
//EDIT:
Z uzyciem xdialog:
#!/bin/bash polecenie=`df -m | grep /dev/hd | awk -F " " '{ print $5 }' | cut -b 1-2` for X in $polecenie do if [ $X -ge 90 ]; then INFO="Przekroczono 90% na partycji "`df -m|grep $X|cut -d ' ' -f1` Xdialog --msgbox "$INFO" 10 50 & fi done
Offline
dzieki Lorenzo
sorry za wygode ;)
pozdrawiam
Offline
Wersja działająca pożadnie ;-)
#!/bin/bash touch /tmp/.disk.sh.PID #Command who's checking how usage logical disk is COMMAND1=`df -m | grep /dev/hd | awk -F " " '{ print $5 }' | cut -b 1-2` while [ 1==1 ] ; do echo $DISPLAY > /tmp/disp EKRAN=`du -b /tmp/disp | cut -f1 ` if [ $EKRAN -eq 1 ] ; then MSGCOM=dialog else MSGCOM=Xdialog fi for I in $COMMAND1 ; do PART=`df -m|grep $I|cut -d ' ' -f1` NAME=`echo $PART |cut -d '/' -f3` if [ $I -ge 90 ]; then INFO="Przekroczono 90% użycia partycji na "$PART if ! [ -f /tmp/$NAME ] ; then touch /tmp/$NAME $MSGCOM --msgbox "$INFO" 10 50 & fi else if [ -f /tmp/$NAME ] ; then rm /tmp/$NAME fi fi done clear sleep 30 done
Wrzucasz dodatkowo do .bashrc taką linijkę
if [ -f /tmp/.disk.sh.PID ] ; then echo -n "" else ./src/disk.sh & fi
i masz szpeja sprawdzającego co 30 sekund stan zapełnienia (jak raz sprawdzi czy p[rzekroczono 90% użycia na jakiejś partycji nie męczy informacją, do momentu aż użycie spadnie poniżej 90% i wzrośnie ponownie powyżej ;-) )
Offline
dziekuje :)
Offline
Moim zdaniem na pawdę porządnie było by gdyby można było współczynnik zajętej przestrzeni można było ustawiać jako parametr do skryptu.
Offline
Spox. jak mi sie skończa laborki i sesja to siąde i zrobie szpejstwo pożadnie ;-)
Offline
Modyfikacja. Procent zużycia jest podawany jako parametr. Dodatkowo zamieniłem tego zagnieżdzonego ifa na case'a i sie już nie sypie jak poprzedni - narazie ma za sobą 7 minut testów ;-)
#!/bin/bash ############################################################# # Infos about this scripts ############################################################# #Command who's checking how usage logical disk is COMMAND1=`df -h | grep /dev/hd | awk -F " " '{ print $5 }' | cut -b 1-2` #if exist LOCK file then nothing to do if ! [ -f /tmp/.diskusage.sh.LOCK ] ; then touch /tmp/.diskusage.sh.LOCK #infinity loop to do sth while [ 1==1 ] ; do #dialog or xdialog to output if [ -z $DISPLAY ] ; then MSGCOM=dialog else MSGCOM=Xdialog fi #for loop to check, whoose partition has too much sth on sth for COUNT in $COMMAND1 ; do PART=`df -h|grep $COUNT|cut -d ' ' -f1` NAME=`echo $PART |cut -d '/' -f3` #if to do sth if [ $COUNT -ge $1 ] ; then FULL="1" else FULL="0" fi case "$FULL" in 1) INFO="Przekroczono $1% użycia partycji na "$PART if ! [ -f /tmp/$NAME ] ; then touch /tmp/$NAME $MSGCOM --msgbox "$INFO" 10 50 & fi ;; *) if [ -f /tmp/$NAME ] ; then rm /tmp/$NAME fi ;; esac done #asleep this process to 30 seconds sleep 30 done fi #remove LOCK file rm /tmp/.diskusage.sh.LOCK #remove all unused files, but i don't known that is safe? rm /tmp/hd*
Offline
Strony: 1