Linux – Speicherübersicht – wo verschwindet der Speicherplatz – HTML Übersicht / durep & rfcdiff HTML Diff

Ich hatte in letzter Zeit das Problem, dass ich nicht genau wusste, was den Speicherplatz auf meinem RaspberryPi verschlingt. :)

Der Klassiker “df-h” zeigen nur an, auf welcher Partition wieviel Platz ist.

Diesen Info hatte ich mir täglich via Mail zusenden lassen, doch bringt das bei der Suche nicht viel.
Zusatzinfo: Ich nutze auf meinem RapsberryPi Debian 8 / Jessie ohne GUI. Das System läuft auf einem 4GB USB Stick (die SD-Card im Raspberry benutze ich nur zum booten)

Auf der Suche nach einer Lösung habe ich mir mehrere Tools angeschaut und mir letztendlich eine nette Lösung aus mehreren Tools und Befehlen gebaut. Damit sehe ich relativ schnell, wo in welchen Ordnern die Partition den Speicher verschlingt.

Wir brauchen “durep” und “mpack”. Durep für den Disk Report und mpack, um später den HTML Report als Anhang via Mail zu versenden.

sudo apt-get install durep mpack

Zusätzlich brauchen wir das Tool rfcdiff, das ihr hier herunterladen und auf dem Raspberry entpacken könnt. rfcdiff erstellt den Differenz-HTML-Report der Log-Dateien vom Vortag und von heute.

Das Ergebnis sieht so aus:

Buchstaben, die sich ändern, werden farblich hervorgehoben.

Was machen die Scripte?

Die Datei vom Vortag benenne ich um als diskSpaceWatchPreviousDay.log.
Dann wird danach eine diskSpaceWatch.log erstellen.
Diese beiden Textdateien vergleiche ich dann via rfcdiff und lasse mir die html Ausgabe via Mail schicken.
Anschließend archiviere ich die HTML Datei unter /temp/rfcdiff/

Die Scripte

diskSpaceWatchNeu.sh

!/bin/bash
DATE=$(date +%Y-%m-%d)

# DiskSpaceWatch.log vom Vortag umbenennen:
mv /home/pi/scripts/diskSpaceWatch.log /home/pi/scripts/diskSpaceWatchPreviousDay.log

df -h >> /home/pi/scripts/diskSpaceWatch.log

# entferne tmpfs und devtmpfs
sed -i "/\b\(tmpfs\|devtmpfs\|mmcblk0p1\|udev\)\b/d" /home/pi/scripts/diskSpaceWatch.log

echo "" >> /home/pi/scripts/diskSpaceWatch.log
echo "" >> /home/pi/scripts/diskSpaceWatch.log
echo "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" >> /home/pi/scripts/diskSpaceWatch.log
echo "" >> /home/pi/scripts/diskSpaceWatch.log
echo "" >> /home/pi/scripts/diskSpaceWatch.log

# DSW v2
df -h >> /home/pi/scripts/diskSpaceWatch.log

echo "" >> /home/pi/scripts/diskSpaceWatch.log
echo "" >> /home/pi/scripts/diskSpaceWatch.log
echo "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *" >> /home/pi/scripts/diskSpaceWatch.log
echo "" >> /home/pi/scripts/diskSpaceWatch.log
echo "" >> /home/pi/scripts/diskSpaceWatch.log

# DSW v3
durep -td 4 -hs 20M / -ep 'media/|lib/' -sd >> /home/pi/scripts/diskSpaceWatch.log

diskSpaceWatchDifference.sh

#!/bin/bash
DATE=$(date +%Y-%m-%d)

# rfcdiff HTML Diff
cd /home/pi/scripts/
/home/pi/scripts/rfcdiff-1.45/rfcdiff --html /home/pi/scripts/diskSpaceWatch.log /home/pi/scripts/diskSpaceWatchPreviousDay.log
mpack -s "Speicherdifferenz rfcdiff HTML Raspberry" /home/pi/scripts/diskSpaceWatchPreviousDay-from-.diff.html deine.mail@gmail.com
sleep 5
# Archiviere die HTML Diffs
mv /home/pi/scripts/diskSpaceWatchPreviousDay-from-.diff.html /home/pi/temp/rfcdiff/$DATE.diskSpaceWatchPreviousDay-from-.diff.html

Beide Scripte noch ausführbar machen ;)

Wie sieht mein Cronjob aus?

Im Cronjob rufe ich zuerst die diskSpaceWatchNeu.sh und danach diskSpaceWatchDifference.sh auf (5min habe ich dazwischen Zeit gelassen).

Paddy

Offenburger Naturfreund und IT'Ler. Immer auf der Suche, etwas Neues zu bäschdle ;-)

More Posts - Website

Follow Me:
TwitterFacebook

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert