Tool um Diskspace zu überwachen

Dieses Thema im Forum "Anwendungen" wurde erstellt von Nemesis, 25.12.2008.

  1. #1 Nemesis, 25.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    Hi,
    ich möchte gerne, dass wenn der freiePlatz auf meiner Platte ein gewisses Minimum unterschreitet, dass dann ein Shell-Script ausgeführt wird.
    Das Problem daran ist, wie komme ich an den freien Speicher ?
    Code:
    df -h
    gibt mir schon den freien Speicher jeder Partition aus, aber eben auch noch ne Menge anderer Infos dazu, dann müsste ich mich mit grep und cut zum gewünschten Wert durchhangeln.
    Gibts da nicht nen einfacheren Weg ?


    THX!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Bâshgob, 25.12.2008
    Bâshgob

    Bâshgob freies Radikal

    Dabei seit:
    29.07.2004
    Beiträge:
    2.334
    Zustimmungen:
    0
    Ort:
    Hannover
    Ggf. Quota?
     
  4. #3 saeckereier, 25.12.2008
    Zuletzt bearbeitet: 25.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Schittebön:
    Code:
    BEGIN {
        errors=0
        space_limit=20
        percentage_limit=10
    }
    
    NR > 1 {
        if ( $3 > 0 ) {
            if ( ($5/$3*100 < percentage_limit) && ($5/1024 <= space_limit) ) {
                errors+=1
                msg[errors] = sprintf( "%s: %i%% auf %s verfügbar (%i MB)", $1,$5/$3*100,$7,$5)
            }
        }
    }
    
    END {
        if ( errors > 0) {
            print "WARNUNG:"
            print "========"
            print ""
            printf "Auf den folgenden Dateisystemen steht weniger als %i%% des Speicherplatzes bzw. weniger als %i GB zur Verfügung:\n",percentage_limit, space_limit
            for (x=1; x<=errors; x++)
                print "  - " msg[x]
            print ""
            printf "Diese Warnung wird wiederholt bis der verfügbare Speicherplatz wieder\nmehr als %i%% bzw. %i GB erreicht!\n\n",percentage_limit,space_limit
            print ""
            print "Viele Grüße,"
            print "ASMS - Automatisches Server Monitoring System"
        }
    }
    
    EDIT: Aufruf:
    In der Crontab:
    Code:
    */5 * * * * /bin/df -mlPT | /usr/bin/awk -f df.awk
    
    Ist für GNU/Linux geschrieben. Der cronuser bekommt automatisch eine Mail wenn sowohl die Prozentgrenze als auch die absolute Grenze überschritten sind.
     
  5. #4 Nemesis, 26.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    hm, ok, aber woher weiss ich jetzt als welcher parameter der gewünschte Wert übergeben wird.
    ich habe folgendes vorliegen:
    Code:
     df -mlPT | grep /dev/md0
    /dev/md0      ext3         921999    742812    [COLOR="Red"]132352[/COLOR]      85% /
    und nun muss ich irgendwie an diesen Wert kommen, wenn ich die Ausgabe aber durch eine pipe an awk übergebe, wird doch nicht alles was durch TAB getrennt ist als Parameter übergeben, oder ?
     
  6. #5 saeckereier, 26.12.2008
    Zuletzt bearbeitet: 26.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Also, in meinem Post ist der 1. Codeblock ein AWK-Skript, der 2. ist der dazu passende Aufruf. Das awk Skript überwacht alle gemounteten Partitionen und generiert eine Meldung sobald auf einer der Partitionen der freie Speicherplatz unterhalb der im Begin Block festgelegten Limits fällt. (Percentage_limit ist Prozent des freien Platzes, space_limit ist das absolute Limit in Gigabytes)

    EDIT: Kannst du awk? Verstehst du das Skript? Wenn du nur md0 überwachen willst, dann kannst du das auch so aufrufen:
    Code:
    df -mlPT | grep /dev/md0 | awk -f [i]nameDesSkriptes.awk[/i]
    
    Dann muss aber im Skript "NR > 1" durch "NR >= 1" ersetzt werden
     
  7. #6 Nemesis, 26.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    ja das habe ich gesehen, aber wie erfolgt die Parameterübergabe? ich bräuchte dann ja lediglich $3 aus dem awk script, und es würde auch genügen diesen auf seine grösse zu prüfen, aber wie kommt awk an die richtige spalte bei der df ausgabe ?
     
  8. #7 saeckereier, 26.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Hmm, also es gibt verschiedene Möglichkeiten, awk arbeitet standardmäßig mit TAB als Feldtrenner und $1, $2, ... beziehen sich auf das jeweilige Feld der aktuellen Zeile.
    Es sind also keine Parameter. Man müsste das ganze auch rel. einfach mit einer Kombination aus df | grep | cut erreichen können, wenn du nur eine einzige Zeile bearbeitest bzw. alternativ auch mittels einer while Schleife für mehrere Zeilen..
     
  9. #8 Nemesis, 26.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    ja, mit cut hatte ich das bislang, aber as will nicht so richtig.
    Code:
    ~$ df -mlPT | grep /dev/md0 | cut -f1
    /dev/md0      ext3         921999    742812    132352      85% /
    ~$ df -mlPT | grep /dev/md0 | cut -f4
    /dev/md0      ext3         921999    742812    132352      85% /
    sieht aus als würde er die Trennung zwischen den Feldern nicht erkennen.
     
  10. #9 saeckereier, 26.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    hmm, stimmt.. Jetzt merke ich es auch. Dann benutze doch meinen Vorschlag von weiter oben, mit der Änderung auf NR >= 1 oder einfach mein komplettes Originalskript, dann hast du eine Überwachung für alle Partitionen..
     
  11. #10 Nemesis, 26.12.2008
    Zuletzt bearbeitet: 26.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    ich brauch eben nur die überwachung einer partition ;)

    mit awk kenne ich mich nicht aus, ist es möglich das script wie folgt anzupassen:
    Code:
    BEGIN {
        errors=0
        space_limit=20
        percentage_limit=10
    }
    
    NR >= 1 {
        if ( $3 > 0 ) {
            if ( ($5/$3*100 < percentage_limit) && ($5/1024 <= space_limit) ) {
                errors+=1}
        }
    }
    
    END {
        if ( errors > 0) {
           UND HIER DANN WAS PASSIEREN SOLL
        }
    }
    lässt sich das auch ohne awk-file realisieren?

    was ich machen möchte:
    ich habe ein transparentes konsolenfesnter auf meinem esktop in dem mir unter andere der zur verfügung stehende festplattenspeicher angezeigt wird, fällt dieser unter eine bestimmt Grenze, so soll er in roter-schrift statt in weiss ausgegeben werden.
     
  12. #11 tuxlover, 26.12.2008
    tuxlover

    tuxlover Der den Tux knuddelt

    Dabei seit:
    26.10.2005
    Beiträge:
    2.106
    Zustimmungen:
    0
    Ort:
    berlin
    Warum so kompliziert. Setze doch eimnfach ne diskquota.
     
  13. #12 saeckereier, 26.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    Ich finde meine Lösung auch nicht sehr kompliziert, hat mich damals weniger Zeit gekostet als Einarbeitung in Quotas.. Aber das was jetzt gewünscht wird ist ja auch schon nicht mehr die originale Fragestellung..
    Und die dann überwachen meint ihr?

    Mit awk ginge das zur Not auch;
    Code:
    BEGIN {
        errors=0
        space_limit=20
        percentage_limit=10
    }
    
    NR >= 1 {
        if ( $3 > 0 ) {
            if ( ($5/$3*100 < percentage_limit) && ($5/1024 <= space_limit) ) {
                errors+=1
            }
        }
    }
    
    END {
        exit errors
    }
    
    Und dann aufrufen wie weiter oben beschrieben mit dem df | grep | awk. Dann ist der Returnvalue entsprechend 0 wenn alles ok ist oder nicht 0 wenn der freie Speicherplatz die Grenze unterschreitet. Und dann kannst du danach in welcher Sprache auch immer machen was du willst. Aber das geht sicher eleganter, wo willst du das denn einbinden.

    Zum Thema Quota, wie wird denn da der Verbrauch überprüft?
     
  14. #13 Nemesis, 26.12.2008
    Zuletzt bearbeitet: 26.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    wie gesagt, ich hab mirnur in terminal auf die konsole gepinnt und darin las ich mir in der bash ein paar infos ausgeben, z.B. der freie Plattenplatz, mehr is das nicht.
    Und eben, damit ichs sehe, wenn mir der platz ausgeht solls in rot dastehen, wenn ein minimum unterschritten wird.

    hm ... wenn ich dann
    Code:
    df -mlPT | grep /dev/md0 | awk -f space.awk
    aufrufe, dann sollte er mir doch ne 0 oder ne 1 zurückgeben, oder ? aber er gibts garnichts zurück
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 saeckereier, 26.12.2008
    Zuletzt bearbeitet: 26.12.2008
    saeckereier

    saeckereier Graue Eminenz

    Dabei seit:
    08.05.2005
    Beiträge:
    1.920
    Zustimmungen:
    0
    Ort:
    Im schönen Norden
    http://tldp.org/LDP/abs/html/exit-status.html
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Für Bash:
     
  17. #15 Nemesis, 26.12.2008
    Nemesis

    Nemesis N3RD

    Dabei seit:
    28.01.2005
    Beiträge:
    2.165
    Zustimmungen:
    0
    ok, nu läuft das ding :-)

    THX!
     
Thema:

Tool um Diskspace zu überwachen

Die Seite wird geladen...

Tool um Diskspace zu überwachen - Ähnliche Themen

  1. Umlaute mit Grafiktool

    Umlaute mit Grafiktool: Halli, ich moechte gern ein Tool bzw eine Anwendung, mit der ich die Umlaute mit Klicks einfuegen kann. Distribution ist Knoppix.
  2. Microsoft gibt Visual Studio Productivity Power Tools frei

    Microsoft gibt Visual Studio Productivity Power Tools frei: Microsoft gibt erneut Werkzeuge für Entwickler auf GitHub frei. Diesmal handelt es sich um die Productivity Power Tools für Visual Studio....
  3. Solaris 8 ( unsupported) VmwareTools

    Solaris 8 ( unsupported) VmwareTools: Moin Community, ich habe Solaris 8 ( unsupported) in einer Vmware Workstation ( erst 10 jetzt 11) installiert. So weit so gut, wollte jetzt das...
  4. LibreOffice-Wörterbücher und LanguageTool in neuen Versionen erschienen

    LibreOffice-Wörterbücher und LanguageTool in neuen Versionen erschienen: Kurz vor Beginn des neuen Jahres wurden die deutschen Wörterbücher für LibreOffice aktualisiert. Auch das als LibreOffice-Plugin laufende...
  5. AdaCore gibt Tools im Quellcode frei

    AdaCore gibt Tools im Quellcode frei: Wie AdaCore bekannt gab, stehen GtkAda, Bareboard sowie Ada-Bindungen für Lua im Quellcode auf GitHub bereit. Weiterlesen...