Findlargedir-go ist ein kurzer Hack, der dazu beigetragen hat, "Black Hole" -Verzeichnungen auf einem Dateisystem mit mehr als 100.000 Einträgen in einer einzigen flachen Struktur zu identifizieren. Das Programm wird versuchen, eine beliebige Anzahl solcher Ereignisse zu identifizieren und darüber zu melden.
Das Programm folgt nicht den Symlinks und erfordert, dass R/W -Berechtigungen in der Lage sein, eine Verzeichnis -Inode -Größe zu Anzahl der Einträge zu berechnen und eine Reihe von Einträgen in einem Verzeichnis zu schätzen, ohne sie tatsächlich zu zählen. Während diese Methode nur eine Annäherung an die tatsächliche Anzahl von Einträgen in einem Verzeichnis ist, ist es gut genug, um schnell nach Beleidigung Verzeichnissen zu scannen.
-a ) kann einen übermäßigen E/A und einen übermäßigen Speichergebrauch verursachen. Verwenden Sie nur dann gegebenenfalls-7 Parameter) aufgrund von Unterschieden in der OneFS -Kernel -Stat -Struktur-x Parameter). Es gibt zwei Möglichkeiten zur Installation von Findlargedir -Go: Es gibt zwei Möglichkeiten, Findlargedir-go zu installieren: Laden Sie Ihren bevorzugten Geschmack von der Releases-Seite herunter und installieren Sie manuell.
go get https://github.com/dkorunic/findlargedir-goVerwendung:
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 Bei Verwendung des genauen Modus ( -a -Parameters) achten Sie darauf, dass große Verzeichnis -Lookups den Prozess für längere Zeiträume vollständig halten. Was dieser Modus tut, ist im Grunde genommen ein sekundärer vollständig genauer Durchgang auf einem möglicherweise beleidigenden Verzeichnis, das die genaue Anzahl von Einträgen berechnet.
Wenn sich der Programmfortschritt nicht sicher ist, können Sie SIGUSR1- oder SIGUSR2 -Prozesssignale (unter Windows versuchen Sie es mit ^c), um den zuletzt verarbeiteten Pfad anzuzeigen oder Fortschritts -Flag ( -p -Parameter) zu verwenden, um kontinuierliche 5 -Minuten -Statusaktualisierungen anzuzeigen.
Wenn Sie versuchen, es auf EMC ISILON ONFS> = 7.1 und <8,0 (basierend auf FreeBSD 7.4) auszuführen, addieren Sie den Isilon -Modus mit -7 -Parameter, da das Programm ansonsten ungültige ST_SIZE erfasst und alle Dateisysteme überspringen kann. OneFS 8.0+ Releases erfordern keine Verwendung von -7 Parameter. Dies funktioniert nur auf 386- und AMD64 -Plattformen.
Wenn Sie ein wirklich altes FreeBSD -System (<8,3) oder ein Derivat wie EMC ISILON ONFS (<7.2) und das Programm nicht erstellen, erstellen Sie keine temporären Dateien, verwenden Sie den Cloexec -Modus mit -x -Parameter. Dies funktioniert nur auf 386- und AMD64 -Plattformen.
Wenn Sie vermeiden möchten, in montierte Dateisysteme zu steigen (wie in der Option SED -xdev), verwenden Sie den OneFilesystem -Modus mit -o -Parameter. Dies funktioniert jedoch nicht unter Windows.
Typischer Anwendungsfall, um mögliche Straftäter in mehreren Dateisystemen zu finden:
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 " .