Findlargedir-Go-это быстрый взлом, предназначенный для того, чтобы помочь определить каталоги «черной дыры» на любой файловой системе, имеющей более 100 000 записей в одной плоской структуре. Программа попытается определить любое количество таких событий и сообщить о них.
Программа не будет следовать за символиками и требует, чтобы разрешения R/W были в состоянии рассчитать отношение INODE каталога к количеству записей и оценить ряд записей в каталоге, фактически не считая их. Хотя этот метод представляет собой просто приближение фактического количества записей в каталоге, он достаточно хорош, чтобы быстро сканировать для оскорбительных каталогов.
-a ) может вызвать чрезмерный ввод -вывод и чрезмерное использование памяти; Используйте только при необходимости-7 ) из -за различий в структуре статистики ядра OneFS-x <8.3) и производные, такие как EMC Isilon Onefs <7.2 без открытия поддержки O_CLOEXEC. Существует два способа установки Findlargedir-Go: загрузите свой предпочтительный аромат со страницы выпусков и установить вручную.
go get https://github.com/dkorunic/findlargedir-goИспользование:
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 При использовании точного режима ( -a параметра) Остерегайтесь, что крупные поиски каталогов будут полностью задержать процесс в течение длительных периодов времени. Этот режим, в основном, является вторичным полностью точным передачей, возможно, нарушением каталога, рассчитывающего точное количество записей.
Когда не уверен в прогрессе в программе, не стесняйтесь отправлять сигналы процесса SIGUSR1 или SIGUSR2 (в Windows попробуйте ^c), чтобы увидеть последний обработанный путь или использовать флаг прогресса ( -p ), чтобы увидеть постоянные 5 -минутные обновления статуса.
Если вы пытаетесь запустить его на EMC Isilon Onefs> = 7.1 и <8.0 (на основе FreeBSD 7.4), обязательно добавьте режим Исилона с параметром -7 в противном случае программа обнаружит недействительный st_size и пропустил все файловые системы. Выпуски OneFS 8.0+ не требуют использования параметра -7 . Это будет работать только на платформах 386 и AMD64.
Если у вас есть действительно древняя система FreeBSD (<8.3) или производная, такая как EMC Isilon Onefs (<7.2) и программа, невозможно создать временные файлы, попробуйте использовать режим CloExec с параметром -x . Это будет работать только на платформах 386 и AMD64.
Если вы хотите избежать спуска в монтированные файловые системы (как в опции Find -xdev), используйте режим OneFilesyStem с параметром -o . Однако это не будет работать на Windows.
Типичный вариант использования, чтобы найти возможные правонарушители на нескольких файловых системах:
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 " .