Disk-Space usage

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von nuke, 22.11.2006.

  1. nuke

    nuke Guest

    hi leute
    ich hab noch nicht viel mit der bash gearbeitet und komme deshalb nicht weiter (respektive weiss nicht, wo ich anfangen soll). ich möchte gerne ein script schreiben, dass mir ein bestimmtes verzeichniss überwacht und falls ein unterverzeichnis darin eine ebenfalls bestimmte grösse überschreitet, soll es mich per mail periodisch daran erinnern. nicht viel also.

    ich hab mir das so überlegt:
    mit dem befehl "du --max-depth=1 -Lh /home/martin" kann ich eine liste ausgeben, auf der alle unterverzeichnisse in /home/martin aufgelistet werden (inkl. grösse des entsprechenden verzeichnises). ein script soll nun diesen befehl anwenden und auswerten und im falle einer überschreitung der vorgegebenen grösse soll das script per mail das betreffende verzeichnis per mail an mich schicken (also natürlich nicht das verzeichnis, sondern nur eine meldung, welche verzeichnise zu gross sind und wie viel zu gross sie sind. das script kann man dann via cronjob aufrufen (z.b. täglich). naja weiter bin ich mit überlegen leider noch nicht... also ich weiss einfach nicht, was es für möglichkeiten gibt und was am schlausten ist und vorallem wie ich das alles eigentlich angehen sollte.

    ich suche jetzt nicht jemanden, der mir das script schreibt, das möchte ich schon gerne selber machen. jedoch bin ich um jeden input froh, weil ich nicht weiss, was ich alles benötige und wie ich das angehen kann/soll...

    danke schon mal

    martin
     
  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. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Hallo nuke

    Ich würde erstmal das 'h' in "du --max-depth=1 -Lh /home/martin" durch ein 'k' ersetzen, also "du --max-depth=1 -Lk /home/martin", dann hast du einheitliche und Vergleichbare Zahlen.

    Dann bekommst du als Resultat ja eine schöne Liste, und vorläufig interessiert dich ja nur die erste Spalte.
    An diese kommst du z.B mit 'cut' heran (man cut, http://man.cx/cut).

    Ist das für einen ersten Denkanstoss genug?

    Gruss
    d22
     
  4. nuke

    nuke Guest

    hmm hab da mit cut mal ein bisschen herumprobiert. ich sehe aber nicht genau, warum ich nur die 1. zeile benötige, also die grösse und den pfad nicht. schliesslich will ich ja später diesen pfad auch ausgeben, falls ein verzeichnis zu gross geworden ist.

    edit: ah ok, ich glaub ich raffs jetzt. mit cut krieg ich ne liste der gesammten grössen und die kann ich mit einer schlaufe überprüfen. falls ein eintrag zu gross ist als definiert kann ich ja den "du" befehl nochmals ausführen mit "grep" auf das entsprechende verzeichnis?!?
     
  5. dizzgo

    dizzgo Lernbereite Riesenratte

    Dabei seit:
    04.08.2005
    Beiträge:
    573
    Zustimmungen:
    0
    Ort:
    /ch/sg///
    Du benötigst nicht die erste Zeile, sondern die erste Spalte. Und ausserdem steht da ja auch "vorläufig"...

    Du musst ja erstmal die Zahl die dir 'du' ausgibt mit einem Richtwert vergleichen, und da ist dir der Name des Verzeichnisses "im Weg"...

    Und was man auch noch anmerken sollte, es gibt bestimmt 'tausend' Wege dieses Problem zu lösen....

    Gruss
    d22
     
  6. name

    name Inactive user

    Dabei seit:
    28.08.2004
    Beiträge:
    592
    Zustimmungen:
    0
    Ort:
    Wien->127.0.0.1
    Da is doch awk grad das richtige, ne? ^^
    Oder python :)
     
  7. nuke

    nuke Guest

    ne ist ne vorgabe, dass ich das mit bashscript mache...
     
  8. name

    name Inactive user

    Dabei seit:
    28.08.2004
    Beiträge:
    592
    Zustimmungen:
    0
    Ort:
    Wien->127.0.0.1
    Heisst das wir sollen deine Aufgaben machen :P
    Naja jetzt mal ernst, da eignet awk sich doch wirklich perfekt ^^
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. nuke

    nuke Guest

    was ist awk? noch nie gehört.. und ne ihr sollt es nicht machen. ich hab ja bereits geschrieben, dass ich blutiger anfänger bin und es selber hinkriegen will. ich weiss nur nicht immer, welchen schritt ich als nächstes machen sollte.

    wie kann man einen output weiterverwenden? ich hab die liste von cut, sieht so aus:
    und möchte die jetzt gerne mit einer for-schlaufe überprüfen, aber wie krieg ich die nötigen daten in diese schlaufe?
     
  11. #9 Wolfgang, 22.11.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst auch awk nehmen, sei dir aber bewusst dass das so ziemlich das langsamste Mittel sein wird.

    Du kannst einfach die Ausgabe deiner Liste an read verfüttern, und dort die einzelnen Werte auswerten.
    Code:
    max=200;
    du --max-depth=1 -Lk /home/wolle/| while read size path;
     do
     if [ $size -gt $max ]; 
    then
     echo "Der Pfad $path ist groeszer als $max";
    ###hier das mailen, bekommst du selber hin
    fi;
    done 
    
    Bevor du awk aufgerufen hast, ist das schon fertig. ;)
    Gruß Wolfgang
     
Thema:

Disk-Space usage

Die Seite wird geladen...

Disk-Space usage - Ähnliche Themen

  1. xosview und disk usage

    xosview und disk usage: Hallo, ich habe eine anwendung die mehrere kleine dateien ( < 500 MB) sehr oft liesst und schreibt. ich beobachte die systemauslastung mit...
  2. 100% CPU Usage, über 50% vom System

    100% CPU Usage, über 50% vom System: Hallo zusammen, ich hab da ein root-Server, welcher ein Bisschen rumzickt. Laut Munin steht die CPU unter Volldampf. Also 100%ige Auslastung....
  3. disk usage monitor fuer solaris9(sparc) gesucht

    disk usage monitor fuer solaris9(sparc) gesucht: hallo leute, ich brauche ein tool, das mir unter solaris9 die belegung eines bestimmten filesystems grafisch darstellt. ich will halt wissen, wo...
  4. RAM Usage

    RAM Usage: Wenn ich mal in Debian in's top bzw. in /proc/meminfo schaue, sehe ich ich da ganz wenig RAM frei und ganz viel "buffered". Wo ist der Unterschied...