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.
- Logirajte se za dodavanje komentara
- Inačica za ispis
- PDF version
Komentari
Redirekcija STDIN-a
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: