Dojava zapunjenja particije

Ako živite u neprestanom strahu, da bi vam se neka od particija na linux poslužitelju iz bilo kojeg razloga mogla neopazice zapuniti i time prouzrokovati zastoj ili probleme,  onda postoji jednostavno rješenje, koje bi vas moglo riješiti tih briga.

Iako se danas particioniranje diska može riješiti i na druge načine ( http://tldp.org/HOWTO/LVM-HOWTO/ ), još se uvelike koristi stari sistem podjele diskovlja na statičke particije, fiksne duljine. Nedostatak tog načina je što se često ne može unaprijed predvidjeti iskoristivost određene particije i dostatnost kapaciteta za podatke. Rezultat te nepredvidivosti je neravnomjerno zapunjenje particija u postotcima, a najgora varijanta je čak i manjak prostora i s time povezan strah, što će se dogoditi, ako se disk zapuni u nezgodno vrijeme.
Istina, zapunjenje particije na disku dojavit će i pravilno konfiguriran monitoring program koji nadzire logove, ali nije li to malo prekasno? Treba li čekati dok se u logovima počnu pojavljivati greške poput ove:


Mar 25 09:23:13 singer clamav-sanesecurity[25812]: Error running mktemp(1), exit status: 1

To je greška koju  je u syslog zapisao Clam Anti-virus, ali slično se može očekivati i od drugih servisa koji ekstenzivno koriste /tmp particiju:

Apache
Spam Assassin
Qmail
Mysql
i sl.

Pošto je bolje spriječiti, nego liječiti, ne bi li bilo zgodno da nam sustav putem elektronske pošte dojavi unaprijed, kad je ne samo /tmp*) nego i bilo koja druga particija zapunjena ili blizu zapunjenja?.  Evo male skripte, koja radi upravo to:

 


#!/bin/bash
# proslijedi e-mail ako je zapunjenje bilo koje particije > 80%
a="`df -h | grep [089][0123456789]%`";
if [ "`echo $a`" != "" ];
then
echo $a | mutt -c root -s "GLAVNI POSLUŽITELJ, ZAPUNJENE/A  PARTICIJE/A" admin@ustanova.hr;
#else
#echo "No problem"
fi

Ova skripta će, ukoliko je instaliran mutt dojavit elektronskom poštom na admin@ustanova.hr koja je particija puna ili zapunjena više od 80%. (za neki drugi postotak treba samo napraviti odg. promjenu između prvih uglatih zagrada u trećem redku).
Ukoliko nije instaliran mutt šesti red se može zamijeniti s:


SUBJECT="GLAVNI POSLUŽITELJ, PARTICIJA/E ZAPUNJENA/E"
TO="admin@ustanova.hr"
MESSAGE="/tmp/message.txt"
echo "$a" >> $MESSAGE
echo "Time: `date`" >> $MESSAGE
/usr/bin/mail -s "$SUBJECT" "$TO" < $MESSAGE
rm $MESSAGE

Navedena procedura je potrebna da bi se  mail mogao izvršiti iz skripte i ne bi upao u interaktivni modus.

Još samo je potrebno iz crona pozvati skriptu na izvršavanje, recimo dva puta dnevno i strah od neočekivanog zapunjenja particija trebao bi nestati.

*) Za periodično čišćenje /tmp particije/direktorija za linux postoje utility-programčići, kao što su tmpwatch i tmpreaper, koji su evtl. sigurnosno problematični.

 

Kuharice: 
Vote: 
0
No votes yet

Komentari

Umjesto ovog (prilicno nesigurnog) nacina kreiranja privremene datoteke, moguce je iskoristiti upute iz clanka http://sistemac.carnet.hr/node/693 . Tada ni nema potrebe za kreiranjem privremene datoteke:

/usr/bin/mail -s "$SUBJECT" "$TO" <<END
$a
Time: `date`
END