Outil Linux pour suivre l'espace du répertoire au fil du temps

8

Existe-t-il des outils Linux courants qui suivent l'espace disque au fil du temps, pas seulement un système de fichiers dans son ensemble, mais par exemple, pour que je puisse facilement voir les arborescences de répertoires gonflées et rétrécies historiquement? Le problème se produit sur les serveurs qui semblent continuer à frapper 0 espace libre malgré maison nettoyage de routine des fichiers de cache et tmp, journaux , etc. Je l' ai déjà utiliser des outils comme df, duet lsofsouvent et horaires d' atemplois pour trouver des fichiers âgés de plus d' une certaine taille / type lorsque faible des traces d'eau sont frappées, etc.

De préférence un paquet Debian / Ubuntu.

Marcos
la source
Je suppose que vous voulez quelque chose de plus convivial que d' du -sexécuter en cron, non?
peterph
1
Je pense qu'ils veulent un calcul historique de l'utilisation de l'espace disque comme ce que vous obtiendriez pour l'utilisation du processeur ou des E / S en faisant une commande "sar".
Bratchley
Cela peut-il être fait avec une faible surcharge en utilisant un outil qui surveille et extrait les données pertinentes du journal (ext3)?
Michael Martinez

Réponses:

3

Quelques choses rendraient la création d'un outil comme celui-ci problématique:

  1. Le noyau ne conserve pas d'historique de taille de fichier spécifique au répertoire ou au fichier (comme il le fait avec l'utilisation de la mémoire, l'activité d'E / S ou le temps CPU), donc tout ce qui est écrit devrait être dans l'espace utilisateur.
  2. Même si quelque chose était écrit en utilisant inotify ou quelque chose, sur les serveurs occupés, la surcharge d'un démon de l'espace utilisateur enregistrant la sortie de "du -s" après chaque changement de fichier serait énorme. Sur des serveurs moins occupés, vous n'auriez probablement pas cette préoccupation. Vous vous retrouvez donc dans une situation où l'outil n'est utile qu'aux personnes qui ne peuvent pas se permettre ses frais généraux.
  3. Les démons de surveillance de réseau tels que Zabbix ou Nagios contiennent une surveillance primitive de l'utilisation du disque (de systèmes de fichiers entiers) avec des historiques qui répondent aux besoins de la plupart des administrateurs à cet égard. Les besoins au-delà sont généralement casser / réparer où vous allez dans le système de fichiers en question et vérifier pour voir ce qui prend de l'espace après le fait (en utilisant la surveillance du réseau pour faire un avertissement proactif des problèmes possibles).
  4. Si vous avez vraiment vraiment besoin de savoir cela et d'attendre que vos avertissements proactifs vous avertissent quand cela se reproduit (afin que vous puissiez le vérifier) ​​n'est pas une option, vous pouvez finalement écrire un script pour surveiller les répertoires qui vous concernent à propos. (en gros, l'enregistrement de la sortie de "find / path / to / dir -type d -exec du -sh {} \;" d'une manière qui vous sera facile à examiner).

Il n'y a donc pas de réelle demande pour créer un outil d'espace utilisateur pour ce faire, car il serait difficile de le faire correctement et les solutions existantes vous rapprochent de l'idéal.

Réponse courte: Je ne connais pas un tel outil, mais il est logique qu'il n'y en ait pas.

Bratchley
la source
Il est à ma portée de pirater ensemble des scripts de l'espace utilisateur, par exemple. enregistrez des duinstantanés périodiques à partir de cron de tous / certains répertoires, stockez-les dans SQL / CSV pour une analyse ultérieure afin de préciser où le stockage est consommé et créez des rapports conviviaux pour le localiser. Avec la possibilité de zoomer dans la hiérarchie dir, on espère. Mais cela prend du temps et j'espère que quelque chose de similaire existe, même s'il est imparfait (liens durs, etc.).
Marcos
1
Je me demande si cela, avec beaucoup moins de frais généraux que "du -s", pourrait être fait avec un outil qui surveille le journal du système de fichiers?
Michael Martinez