FindLargedir-Go est un hack rapide destiné à aider à identifier les répertoires "Black Hole" sur un système de fichiers ayant plus de 100 000 entrées dans une seule structure plate. Le programme tentera d'identifier un certain nombre de ces événements et de les rapporter.
Le programme ne suivra pas les liens symboliques et nécessite des autorisations R / W pour pouvoir calculer un répertoire de la taille du nombre de grévistes et des entrées et d'estimer un certain nombre d'entrées dans un répertoire sans les compter réellement. Bien que cette méthode ne soit qu'une approximation du nombre réel d'entrées dans un répertoire, il est assez bon pour rechercher rapidement les répertoires offensés.
-a ) peut provoquer une E / S excessive et une utilisation excessive de la mémoire; Utiliser uniquement le cas échéant-7 ) en raison des différences dans la structure des statistiques du noyau OneFS-x paramètre) Il existe deux façons d'installer FindLargedir-Go: Il existe deux façons d'installer Findllaredir-Go: Téléchargez votre saveur préférée à partir de la page des versions et installez manuellement.
go get https://github.com/dkorunic/findlargedir-goUsage:
Usage: findlargedir [-7ahopx] [-c value] [-t value] [parameters ...]
-7, --isilon enable support for EMC Isilon OneFS 7.x
-a, --accurate full accuracy when checking large directories
-c, --testcount=value
set initial file count for inode size testing phase (default
20000)
-h, --help display help
-o, --onefilesystem
never cross filesystem boundaries
-p, --progress display progress status every 5 minutes
-t, --threshold=value
set file count threshold for alerting (default 50000)
-x, --cloexec disable open O_CLOEXEC for really ancient Unix systems Lorsque vous utilisez un mode précis ( -a paramètre), méfiez-vous que les grandes recherches de répertoires calent complètement le processus pendant de longues périodes. Ce que fait ce mode, c'est essentiellement une réussite secondaire entièrement précise sur un répertoire éventuellement incriminé calculant le nombre exact d'entrées.
Lorsque vous ne savez pas que le programme progresse, n'hésitez pas à envoyer des signaux de processus SIGUSR1 ou SIGUSR2 (sur Windows Essayez avec ^ C) pour voir le dernier chemin traité ou utiliser un indicateur de progression ( -p paramètre) pour voir des mises à jour de statut continues de 5 minutes.
Si vous essayez de l'exécuter sur EMC ISILON ONFS> = 7.1 et <8.0 (basé sur FreeBSD 7.4), assurez-vous d'ajouter le mode ISilon avec -7 Paramètre sinon le programme détectera ST_SIZE et sauteront tous les systèmes de fichiers. Les versions ONFS 8.0+ ne nécessitent pas d'utilisation du paramètre -7 . Cela fonctionnera uniquement sur les plates-formes 386 et AMD64.
Si vous avez un système FreeBSD vraiment ancien (<8.3) ou un dérivé tel que EMC ISilon OneFS (<7.2) et que le programme ne crée pas de fichiers temporaires, essayez d'utiliser le mode Cloexec avec -x paramètre. Cela fonctionnera uniquement sur les plates-formes 386 et AMD64.
Si vous souhaitez éviter de descendre dans les systèmes de fichiers montés (comme dans l'option find -xdev), utilisez le mode OneFileSystem avec le paramètre -o . Cela ne fonctionnera cependant pas sur Windows.
Cas d'utilisation typique pour trouver les délinquants possibles sur plusieurs systèmes de fichiers:
root@box: ~ # findlargedir -c 10000 -t 50000 -a /var /home
2018/09/04 08:13:16 Note: program will attempt to alert on directories larger than 50000 entries by default.
2018/09/04 08:13:16 Determining inode to file count ratio on " /var " . Please wait, creating 10000 files...
2018/09/04 08:13:16 Done. Approximate directory inode size to file count ratio on " /var " is 26.2144.
2018/09/04 08:13:21 Found 0 large directories in " /var " .
2018/09/04 08:13:21 Determining inode to file count ratio on " /home " . Please wait, creating 10000 files...
2018/09/04 08:13:21 Done. Approximate directory inode size to file count ratio on " /home " is 27.0336.
2018/09/04 08:13:21 Directory " /home/user/torrent " is possibly a large directory with ~ 100k entries.
2018/09/04 08:13:21 Calculating " /home/user/torrent " directory exact entry count. Please wait...
2018/09/04 08:13:21 Done. Directory " /home/user/torrent " has exactly 99164 entries.
2018/09/04 08:13:21 Found 1 large directories in " /home " .