CRESD GmbH     EDV     Tips & Tricks    

Dateisystemüberwachung unter Linux

Vieleicht ist es Ihnen schon einmal passiert: Ihr Linux-Server tut nicht mehr was er soll, weil er keinen Platz mehr auf seiner Festplatte hat und niemand hat Sie gewarnt. Mit Hilfe der Kommandos df, awk und crontab ist es aber sehr leicht, ein System zu entwickeln, das regelmässig den freien Platz Ihrer Festplatten kontrolliert und ggfls. eine Mail an den Administrator verschickt.

Das Kommando df zeigt u.a. die Größe der Festplatte und den freien Platz.
Ausgabe des Kommandos df :

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda3             38667264   6028196  32639068  16% /
/dev/hda1                23302      5839     16260  27% /boot
/dev/hdb1             44177360  28968768  15208592  66% /bigdrive/part1
/dev/hdb2             44177392  16059508  28117884  37% /bigdrive/part2
/dev/hdb3             44177392  14690536  29486856  34% /bigdrive/part3
/dev/hdb4             48402360     32840  48369520   1% /bigdrive/part4
shmfs                   127944         0    127944   0% /dev/shm
/dev/hdc                296884    296884         0 100% /media/dvd
		

Mit Hilfe des folgenden awk-Skript können Sie in der Ausgabe von df die Zeilen, von Festplatten, die weniger als 25% freien Platz bieten, suchen. Die ersten beiden Zeilen filtern die Überschrift und das DVD-Laufwerk heraus. Sie müssen ggfls. den Gerätetreiber Ihres CD-ROMs bzw. DVD anpassen. Die dritte Zeile gibt nun für jedes überbelegte Laufwerk einen Warntext aus.

/Use%/            { next }
/hdc/             { next }
$4*100/$2*1024<25 { print "File System", $1, "on", $6, $5, "used" }
		

Das folgende sh-Skript ruft nun die Kommandos df und awk zusammen mit dem awk-Skript auf.

#/bin/sh          

/bin/df | /usr/bin/gawk -f /root/bin/df.awk
		

Jetzt müssen Sie nur noch cron anweisen, das Skript regelmässig aufzurufen. Wenn das Skript eine Ausgabe ergibt, was der Fall ist, wenn ein überbelegtes Laufwerk gefunden wird, wird der Text per Mail an den Administrator geschickt.
crontab-Eintrag zum Aufruf des Skripts:

# check free space on file system
0 2 * * *       $HOME/bin/df.sh
		

Zurück Zurück     EDV     Hauptseite

© 2005 by CRESD GmbH / München    Impressum