Shell-Script zur Überwachung des Speicherplatzes eines Linux Servers :: EurenikZ Tipps & Tricks
In diesem kleinen How-To zeige ich wie man ein Shell-Script schreibt, um per E-Mail benachrichtigt...

In diesem kleinen How-To zeige ich wie man ein Shell-Script schreibt, um per E-Mail benachrichtigt zu werden, sobald der Festplattenspeicher auf einem Server knapp wird. Dazu wird die Ausgabe des Befehls "df -h" verwendet und verarbeitet.

Der Befehl df -h gibt Daten zum Speicherplatz aus:

Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/vda1        24G     22G  1,4G   95% /
udev             10M       0   10M    0% /dev
tmpfs           794M    8,4M  785M    2% /run
tmpfs           2,0G       0  2,0G    0% /dev/shm
tmpfs           5,0M       0  5,0M    0% /run/lock
tmpfs           2,0G       0  2,0G    0% /sys/fs/cgroup

Damit allerdings nur der verwendete Speicherplatz in Prozent in die E-Mail kommt, wird die Ausgabe des Befehls gefiltert: df / | awk '{print $5}' | tail -n 1

Damit erhalten wir jetzt

95%

Jetzt komm ein kleines Script ins Spiel, welches diese Ausgabe ausliest und erkennt, ob der angegebene belegte Speicher überschritten ist. Diese Angabe ist in Zeile 3 festgelegt mit 80%.

#!/bin/sh
used=$(df / | awk '{print $5}' | tail -n 1 | cut -d'%' -f1)
if [ $used -ge 80 ]; then
	echo "Der Speicherplatz auf Server $(hostname) wird knapp: $used%" |
	mail -s "Der Speicherplatz wird knapp: $used%" Deine@Email.de
fi

In Zeile 4 wird der Inhalt der E-Mail angegeben, die Variable $(hostname) steht dabei für den Hostname des Servers. In Zeile 5 wird am Anfang der Betreff und am Ende die Empfänger-Adresse definiert.


Cronjob erstellen

Damit du nun auch automatisch immer benachrichtigt wirst, wird noch ein Cronjob erstellt. Speichere dafür erst einmal das Script und mache es mit dem Befehl chmod +x Script.sh ausführbar. Öffne die Cronjob-Tabelle mit crontab -e und füge eine neue Zeile für den neuen Cronjob ein, beispielsweise:

0 3 * * * /Pfad/zum/Script.sh

Hiermit wird das Script täglich um 3 Uhr ausgeführt.

EurenikZ

EurenikZ

Ich bin Janis, 20 Jahre jung und komme aus Frankfurt am Main. Aktuell mache ich eine Ausbildung zum Fachinformatiker für Systemintegration. Neben meinem vServer beschäftige ich mich viel mit Programmieren und meinen Webseiten. Zocken ist ebenfalls eines meiner Leidenschaften, mein Lieblings-Genre ist Battle Royale und Survival.

War dieser Artikel hilfreich?

0

Zuletzt aktualisiert

29.12.2018