Linux-Tool zur Verfolgung des Verzeichnisbereichs im Laufe der Zeit

8

Gibt es gängige Linux-Tools, die den Speicherplatz im Laufe der Zeit verfolgen, nicht nur ein Dateisystem insgesamt, sondern zum Beispiel, damit ich leicht erkennen kann, welche Verzeichnisbäume historisch angeschwollen und geschrumpft sind? Das Problem tritt auf Servern , die 0 Freiraum trotz Routine Hausreinigung von Cache und tmp - Dateien zu halten scheinen schlagen, Protokolle etc. Ich bereits verwenden Werkzeuge wie df, duund lsofoft und Zeitplan atArbeitsplätze im Alter von Dateien über eine bestimmte Größe / Art , wenn niedriges zu finden Wasserzeichen werden getroffen usw.

Vorzugsweise ein Debian / Ubuntu-Paket.

Marcos
quelle
Ich nehme an, Sie möchten etwas benutzerfreundlicheres als du -sin Cron laufen, oder?
Peterph
1
Ich denke, sie wollen eine historische Berechnung der Speicherplatzauslastung, wie Sie sie für die CPU- oder E / A-Auslastung erhalten würden, wenn Sie einen "sar" -Befehl ausführen.
Bratchley
Kann dies mit geringem Aufwand mit einem Tool durchgeführt werden, das relevante Daten überwacht und aus dem (ext3) -Journal extrahiert?
Michael Martinez

Antworten:

3

Ein paar Dinge würden die Erstellung eines solchen Tools problematisch machen:

  1. Der Kernel speichert keine verzeichnis- oder dateispezifischen Dateigrößenverläufe (wie dies bei der Speichernutzung, der E / A-Aktivität oder der CPU-Zeit der Fall ist), sodass alles, was geschrieben wird, im Benutzerbereich liegen muss.
  2. Selbst wenn etwas mit inotify oder etwas anderem geschrieben würde, wäre auf ausgelasteten Servern der Overhead eines User Space-Daemons, der die Ausgabe von "du -s" nach jeder Dateiänderung aufzeichnet, enorm. Auf weniger als ausgelasteten Servern hätten Sie dieses Problem wahrscheinlich nicht. Sie geraten also in die Situation, dass das Tool nur für Personen nützlich ist, die sich den Overhead nicht leisten können.
  3. Netzwerküberwachungs-Daemons wie Zabbix oder Nagios enthalten eine primitive Überwachung der Festplattenauslastung (ganzer Dateisysteme) mit Historien, die den Anforderungen der meisten Administratoren in dieser Hinsicht gerecht werden. Darüber hinaus erforderliche Anforderungen sind in der Regel Unterbrechungen / Korrekturen, wenn Sie in das betreffende Dateisystem wechseln und überprüfen, ob der Speicherplatz nachträglich belegt wird (mithilfe der Netzwerküberwachung können Sie proaktiv vor möglichen Problemen warnen).
  4. Wenn Sie dies wirklich wirklich wissen müssen und darauf warten, dass Ihre proaktiven Warnungen Sie benachrichtigen, wenn es erneut passiert (damit Sie es überprüfen können), können Sie letztendlich ein Skript schreiben, um die betroffenen Verzeichnisse zu überwachen Über. (Grundsätzlich wird die Ausgabe von "find / path / to / dir -type d -exec du -sh {} \;" auf eine Weise aufgezeichnet, die für Sie leicht zu überprüfen sein wird.)

Es besteht also kein wirklicher Bedarf, ein User-Space-Tool zu erstellen, da dies schwierig ist und vorhandene Lösungen Sie dem Ideal ziemlich nahe bringen.

Kurze Antwort: Mir ist ein solches Tool nicht bekannt, aber es macht Sinn, dass es kein Tool gibt.

Bratchley
quelle
Es liegt in meiner Reichweite, User-Space-Skripte zu z. Zeichnen Sie regelmäßige duSnapshots von cron aller / einiger Verzeichnisse auf, speichern Sie sie in SQL / CSV für eine spätere Analyse, um einzugrenzen, wo wann Speicherplatz verbraucht wird, und erstellen Sie benutzerfreundliche Berichte, um dies genau zu bestimmen. Mit der Fähigkeit, in die Verzeichnishierarchie zu zoomen, hofft man. Aber das ist zeitaufwändig und ich hoffe, dass es etwas Ähnliches gibt, auch wenn es nicht perfekt ist (Hardlinks usw.).
Marcos
1
Ich frage mich, ob dies mit viel weniger Aufwand als "du -s" mit einem Tool möglich ist, das das Dateisystemjournal überwacht.
Michael Martinez