Es gibt unendlich viele Möglichkeiten den verfügbaren Speicherplatz auf Desktops zu überwachen. Alle, die mir jetzt so einfallen sind kleine Applets für den Windowmanager seiner Wahl, oder im Terminal ein df -h. Ein fertiges Paket, um den verfügbaren Speicherplatz auf einem fernen Rechner zu überwachen fällt mir jetzt nicht ein. Da bin ich gestern über eine Frage im Forum gestolpert bin und da dachte ich endlich mal daran, es nun auch auf unserem Server zu implementieren. Das hier ist die, -zugegebenermaßen verbesserungsfähige- Lösung.
Das Script muss per Cron regelmäßig gestartet werden. Einmal täglich sollte im Normalfall reichen.
Es werden nur Dateisysteme eines Typs berücksichtigt, hier ext3, damit erübrigt sich bei uns der Schalter -l für nur locale Systeme.
#!/bin/bash # partwarn.sh by bed # Version 0.1 # per cronjob aufgerufen, durchsucht es alle ext3 Partitionen # und mailt bei unterschreiten einer bestimmten SCHWELLE an freien # Speicherplatz # # Die SCHWELLE wird als Zahl, ohne % angegeben ADMINMAIL=bed_no_spam@zockertown.de SCHWELLE=90 # 64 Prozent set `df -m -t ext3 |grep /dev` ## Die Ausgabe von df -m -t ext3 sieht typischewrweise so aus: # #$1 $2 $3 $4 $5 $6 # /dev/hda1 7667 4513 2765 63% / for CURRENT do PROZENT=`echo $5|cut -d'%' -f1` if [ "$PROZENT" -gt "$SCHWELLE" ] then TEXT="Auf der Partition $1 gemountet auf $6\n ist nur noch $4 MByte Platz!\n Das entspricht einer Belegung von $5." echo -e $TEXT |mail -s "Speicherplatz WARNUNG!" $ADMINMAIL fi shift;shift;shift;shift;shift;shift if [ $# -lt 6 ] then exit fi done
Wenn das Script nicht funktioniert: Kann der Server Mails versenden? evtl. das Paket nullmailer installieren
Das Script wirft einen Fehler: line 21: [: : integer expression expected
Das Script kann nicht mit langen device Mapper Namen umgehen. Da ich das aber nur auf dem Lappi habe und ich dort so ein Script nicht benötige, kann das ein anderer einbauen