Czasami istnieje konieczność częstego monitorowania zajętości dysku. Istnieje oczywiście wiele programów przeznaczony do tego celu np.  Nagios, Zabix itp. Takie typu rozwiązania oprócz swoich oczywistych zalet moją swoje wady. Na ich konfigurację trzeba poświęcić dodatkowy czas, a także dodatkowe zasoby sprzętowe. Dlatego często nie zależy nam na instalacji skomplikowanych kombajnów. Wystarczy prosty skrypt bash z powiadomieniem mailowym.Skrypt, wystarczy dodać do crona aby monitorował za nas zajętość dysku np 1 na godzinę. Oczywiście skrypt bash który będzie odpowiadał za monitorowanie zajętości miejsca na dysku hdd, powiadomienia mailowe będzie wysyłał tylko w przypadku, gdy miejsce na dysku przekroczy pewną ustaloną wartość.

 

#!/bin/sh
ADMINMAIL="[email protected], [email protected]"
DOPUSZCZALNYPOZIOM=75

all=`df -h`
df=`df -Pl | grep "^/dev" | awk '{print $5, $6}' | sed "s/%//"`
echo "$df" | while read percent fs

do
if [ $percent -ge $DOPUSZCZALNYPOZIOM ]; then
echo "$all " |
mail -s "Malo miejsca na HDD $(hostname) $(date)" $ADMINMAIL
fi
done

Skrypt jest dość banalny. I łatwy w konfiguracji. Po osiągnięciu zajętości danej partycji dysku określonej w parametrze  DOPUSZCZALNYPOZIOM (tutaj 75 %), wysyła automatycznie maila do administratora na email (tutaj emaile) podane w parametrze ADMINMAIL.

 

Leave a comment