Findlargedir-Go는 단일 평평한 구조에 10 만 개 이상의 항목이있는 파일 시스템에서 "블랙홀"디렉토리를 식별하는 데 도움이되는 빠른 해킹입니다. 프로그램은 그러한 이벤트를 여러 번 식별하고 이에 대한보고를 시도합니다.
프로그램은 Symlinks를 따르지 않으며 디렉토리 inode 크기를 항목 비율로 계산하고 실제로 계산하지 않고 디렉토리의 여러 항목을 추정하려면 R/W 권한이 필요합니다 . 이 방법은 디렉토리의 실제 항목 수의 근사치 일 뿐이지 만 문제가되는 디렉토리를 신속하게 스캔 할 수 있습니다.
-a )는 과도한 I/O 및 과도한 메모리 사용을 유발할 수 있습니다. 적절한 경우에만 사용하십시오-7 매개 변수)가 필요합니다.-x OP OPENCCLOEXEC 지원이 필요하지 않습니다. 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 매개 변수로 Isilon 모드를 추가하십시오. 그렇지 않으면 프로그램이 잘못된 ST_SIZE를 감지하고 모든 파일 시스템을 건너 뛸 수 있습니다. Onefs 8.0+ 릴리스는 -7 매개 변수를 사용하지 않아도됩니다. 이것은 386 및 AMD64 플랫폼에서만 작동합니다.
실제로 고대 FreeBSD 시스템 (<8.3) 또는 EMC Isilon OneFS (<7.2)와 같은 파생물이있는 경우 프로그램이 임시 파일을 생성하지 못하는 경우 -x 매개 변수와 함께 Cloexec 모드를 사용해보십시오. 이것은 386 및 AMD64 플랫폼에서만 작동합니다.
-xdev 옵션에서와 같이 장착 파일 시스템으로 내려 가면 -o 매개 변수와 함께 OneFilesystem 모드를 사용하십시오. 그러나 이것은 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 " .