FindLargedir-Go adalah peretasan cepat yang dimaksudkan untuk membantu mengidentifikasi direktori "lubang hitam" pada sistem file apa pun yang memiliki lebih dari 100.000 entri dalam satu struktur datar. Program akan berusaha mengidentifikasi sejumlah acara tersebut dan melaporkannya.
Program tidak akan mengikuti symlink dan mensyaratkan izin R/W untuk dapat menghitung ukuran inode direktori dengan jumlah rasio entri dan memperkirakan sejumlah entri dalam direktori tanpa benar -benar menghitungnya. Meskipun metode ini hanyalah perkiraan dari jumlah entri aktual dalam direktori, itu cukup baik untuk dengan cepat memindai direktori yang menyinggung.
-a ) dapat menyebabkan I/O yang berlebihan dan penggunaan memori yang berlebihan; hanya gunakan jika perlu-7 parameter) karena perbedaan dalam struktur stat kernel onefs-x parameter) Ada dua cara untuk menginstal findlargedir -go: Ada dua cara untuk menginstal findlargedir-go: Unduh rasa pilihan Anda dari halaman rilis dan instal secara manual.
go get https://github.com/dkorunic/findlargedir-goPenggunaan:
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 Saat menggunakan mode akurat ( -a parameter), berhati -hatilah bahwa pencarian direktori besar akan menghentikan proses sepenuhnya untuk waktu yang lama. Apa yang dilakukan mode ini pada dasarnya adalah pass sekunder yang sepenuhnya akurat pada direktori yang mungkin menyinggung menghitung jumlah entri yang tepat.
Ketika tidak yakin dengan kemajuan program, jangan ragu untuk mengirim sinyal proses SIGUSR1 atau SIGUSR2 (pada windows mencoba dengan ^C) untuk melihat jalur yang diproses terakhir atau menggunakan progres flag ( -p parameter) untuk melihat pembaruan status 5 menit berkelanjutan.
Jika Anda mencoba menjalankannya di EMC Isilon OneFS> = 7.1 dan <8.0 (berdasarkan FreeBSD 7.4), pastikan untuk menambahkan mode isilon dengan parameter -7 Parameter jika tidak program akan mendeteksi st_size yang tidak valid dan melewatkan semua sistem file. OneFS 8.0+ Rilis tidak memerlukan penggunaan -7 parameter. Ini hanya akan berfungsi pada platform 386 dan AMD64.
Jika Anda memiliki sistem FreeBSD yang benar -benar kuno (<8.3) atau turunan seperti EMC isilon OneFS (<7.2) dan program gagal membuat file sementara, coba gunakan mode Cloexec dengan parameter -x . Ini hanya akan berfungsi pada platform 386 dan AMD64.
Jika Anda ingin menghindari turun ke sistem file yang dipasang (seperti pada opsi find -xdev), gunakan mode OneFilesystem dengan parameter -o . Namun ini tidak akan berfungsi pada Windows.
Kasus Penggunaan Khas untuk menemukan kemungkinan pelanggar pada beberapa sistem file:
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 " .