Digital Eliteboard

Registrieren dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwert bleiben

Script zur Speicherüberwachung

Alex

Administrator
Mitarbeiter
Mitglied seit
10. Januar 2012
Beiträge
15.199
Gefällt mir
15.651
Punkte
163
#1
Da ich neulich das Problem hatte, dass mir der Speicher vollgelaufen ist, hab ich mir mal ein Script zusammen geschußtert, das mir eine Mail schickt, sofern ein Schwellenwert in Prozent überschritten ist:

Dazu muss zuerst noch das Sendmail Paket installiert werden:
Code:
apt-get install -y sendEmail
Hier das Script:
Code:
#!/bin/bash
AKTUELL=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
GRENZE=95

if [ "$AKTUELL" -gt "$GRENZE" ] ; then
    sendEmail -f ABSENDERADRESSE -t EMPFAENGERADRESSE -u BETREFFZEILE -m MAILINHALT -s SMTPSERVER -xu USERNAME -xp PASSWORD
fi
Dieses lasse ich dann stündlich über eine Cronjob ausführen:
Code:
nano /etc//crontab
Code:
0 * * * * root bash /PFAD/ZUM/SCRIPT/discspace.sh #Festplattenbelegung prüfen
 
Zuletzt bearbeitet:

rolu2

Moderator
Mitarbeiter
Mitglied seit
16. November 2009
Beiträge
7.883
Gefällt mir
3.537
Punkte
163
#2
AW: Script zur Speicherüberwachung

Ich habe das mal verfeinert. So kann man einmal einstellen,wenn nur /var/log oder der ganze Speicher fast voll ist

Bei den meisten Usern denk ich wird /var/log volllaufen und daduch wird z.B kein EMM mehr geloggt

Code:
#!/bin/bash
##############Hier den Grenzwert einstellen und Maildaten eintragen#################
#Fuer die ganzen Speicher(SD-Karte usw)
GRENZE1=95
#Fuer /var/log (Hier werden alle Logs hingeschrieben)
GRENZE2=80
#
EMAILFROM="Absendermailadresse"
EMAILTO='Empfaengermailadesse'
EMAILSERVER='mail.gmx.net'
EMAILUSER='User'
EMAILPASS='Passwort'
############################################################

AKTUELL1=$(df / | grep / | awk '{ print $5}' | sed 's/%//g')
AKTUELL2=$(df /var/log | grep /var/log | awk '{ print $5}' | sed 's/%//g')
MESSAGE1="Achtung.Der Gesamtspeicher ist fast voll"
MESSAGE2="Achtung.Der Speicher unter /var/log ist fast voll"
SUBJECT="Info vom Server"




if [ "$AKTUELL1" -gt "$GRENZE1" ] ; then
    echo "Verschicke EMail.."
        sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT" -m "$MESSAGE1" -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
    fi
if [ "$AKTUELL2" -gt "$GRENZE2" ] ; then
    echo "Verschicke EMail.."
        sendEmail -f $EMAILFROM -t $EMAILTO -u "$SUBJECT" -m "$MESSAGE2" -s $EMAILSERVER -xu "$EMAILUSER" -xp "$EMAILPASS"
    fi
 
Zuletzt bearbeitet:
Thread Starter
OP
Alex

Alex

Administrator
Mitarbeiter
Mitglied seit
10. Januar 2012
Beiträge
15.199
Gefällt mir
15.651
Punkte
163
#3
AW: Script zur Speicherüberwachung

Ich hab das Ganz auf einer "normalen" Linuxvm gebraucht, da hat meiner Variante mit einer Platte völlig gereicht, aber deine Verfeinerung ist natürlich Super
 

Oben