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.

Kategorie: Server

Tags: , ,

0 Kommentare

1.753 Aufrufe

Über mich

Ich bin Janis (aka. EurenikZ), 25 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.

1934 Aufrufe

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten.

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen. Sei der Erste, der diesen Beitrag bewertet!

Es tut mir Leid, dass der Beitrag für dich nicht hilfreich war!

Wie kann ich diesen Beitrag verbessern?

Hinterlasse einen Kommentar

  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    44
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    153
  • Beim Löschen von Dateien in Nextcloud landen diese im Papierkorb und bleiben dort, bis dieser manuell geleert wird. Möchte man Dateien im Papierkorb automatisch nach einer bestimmten Zeit löschen lassen, muss die Konfiguration entsprechend angepasst werden. Die Papierkorb-Funktion ist[...]

    10.12.2023 20:57

    93
  • Manchmal ist es notwendig, sich in die Shell eines Docker-Containers zu schalten, um dort beispielsweise weitere Konfigurationen vornehmen zu können. Wie du dich in eine Container-Shell einloggst, zeige ich dir in diesem Beitrag. Begib dich zunächst in das Verzeichnis, in[...]

    12.03.2024 18:37

    44
  • Mithilfe eines Swap-Speichers lagert man temporäre Daten in eine Auslagerungsdatei aus, anstatt in den RAM zu schreiben. Das ist vor allem dann sinnvoll, wenn wenig Arbeitsspeicher zur Verfügung steht und man Abstürze wegen zu wenig Arbeitsspeicher umgehen möchte. Was ist[...]

    01.01.2024 10:00

    153