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 $(hostname) wird knapp: $used% verwendet." 2>&1 | sed "1!b;s/^/To: mail@example.com\nSubject:[Alert] Der Speicherplatz auf $(hostname) wird knapp: $used%\n\n/" | /usr/sbin/sendmail -t
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.
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Wenn dir der Beitrag geholfen hat, freue ich mich über deine Unterstützung über die Schaltfläche links unten – vielen Dank!

Über mich
Ich bin Janis (aka. EurenikZ), 26 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.

