Computer Eisenbahn Bilder
Impressum
Scripte
Netzwerk
Software
Tips

Partitioncheck
Dieses Script überprüft alle Partitionen des Rechners auf den verfügbaren freien Speicherplatz. Falls weniger als 10% frei sind, wird eine Mail generiert.

#!/bin/bash
#
# Check Partitionstatus
# Version 1.0
# Author: Thomas (Major Tom) Bauer <major-tom@tkb-net.org>
# http://www.tkb-net.org
#

# call df, grep all partitions used with 90-99%, write them to file partitionstat
df | grep 9[0-9]% > partitionstat

# call df, grep all partitions used with 100%, add them to file partitionstat
df | grep 100% >> partitionstat

#If a Partition is used with more then 90% (Filesize partitionstat > 0) then send a mail
if test -s partitionstat
then mail admin@meine-domain.org -r admin@meine-domain.org -s Partitiontest-Server <partitionstat
fi

# Delete Tempfile
rm partitionstat

Erläuterung

Mit dem Befehl df wird angezeigt, wieviel Platz auf den einzelnen Partitionen des Rechners noch vorhanden ist. Die Ausgabe wird über die Pipe | an den Befehl grep übergeben.
Zuerst filtert grep alle Zeilen aus, die die Zahlen 90-99% enthalten. Diese Ausgaben werden in die Datei "partitionstat" geschrieben. Im zweiten Schritt wird nach der Zahl 100% gesucht und die entsprechende Zeile an die Datei "partitionstat" angehängt.
Am Ende wird mit if test -s überprüft, ob die Datei "partitionstat" vorhanden und größer als 0Byte ist (in dem Fall war irgendeine Partition zu mehr als 90% belegt). Ist das der Fall, sendet das Script mit dem Befehl mail den Inhalt der Datei "partitionstat" an den gewünschten Empfänger. Der Schalter -s setzt dabei den Betreff der Mail (in diesem Fall "Partitiontest-Server"), der Schalter -r setzt eine Absender-Mailadresse (nur nötig, wenn man die Mail über einen externen Mailserver leiten muss, sonst wird die Mail durch die dort vorhandenen Spam-Filter aufgehalten).
Zum Schluss wird die Datei "partitionstat" noch gelöscht, da sie jetzt nicht mehr benötigt wird.