Alat Linux untuk melacak ruang direktori dari waktu ke waktu


8

Apakah ada alat Linux umum yang melacak ruang disk dari waktu ke waktu, bukan hanya keseluruhan sistem file, tetapi misalnya, jadi saya dapat dengan mudah melihat pohon direktori mana yang bengkak dan menyusut secara historis? Masalahnya terjadi pada server yang tampaknya terus memukul 0 ruang kosong meskipun rutin membersihkan rumah dari file cache dan tmp, log dll. Saya sudah menggunakan alat seperti df, dudan lsofsering dan menjadwalkan atpekerjaan untuk menemukan file lama pada ukuran / jenis tertentu ketika rendah tanda air terkena, dll.

Lebih disukai paket Debian / Ubuntu.


Saya kira Anda menginginkan sesuatu yang lebih ramah pengguna daripada du -sberjalan di cron, kan?
peterph

1
Saya pikir mereka menginginkan perhitungan historis pemanfaatan ruang disk seperti apa yang Anda dapatkan untuk penggunaan CPU atau I / O dengan melakukan perintah "sar".
Bratchley

Bisakah ini dilakukan dengan overhead rendah menggunakan alat yang memantau dan mengekstrak data yang relevan dari jurnal (ext3)?
Michael Martinez

Jawaban:


3

Beberapa hal akan membuat pembuatan alat seperti ini bermasalah:

  1. Kernel tidak menyimpan histori ukuran file direktori atau file spesifik (seperti halnya dengan penggunaan memori, aktivitas I / O, atau waktu CPU), jadi apa pun yang ditulis harus berada di ruang pengguna.
  2. Bahkan jika sesuatu ditulis menggunakan inotify atau sesuatu, pada server yang sibuk, overhead daemon ruang pengguna merekam output "du -s" setelah setiap perubahan file akan sangat besar. Pada server yang kurang sibuk Anda mungkin tidak akan memiliki masalah ini. Jadi Anda mengalami situasi di mana alat ini hanya berguna untuk orang-orang yang tidak mampu membayar biaya overhead.
  3. Daemon Pemantauan Jaringan seperti Zabbix atau Nagios mengandung beberapa pemantauan pemanfaatan disk primitif (seluruh sistem file) dengan riwayat yang melayani kebutuhan sebagian besar admin dalam hal ini. Kebutuhan di luar itu biasanya memecah / memperbaiki di mana Anda pergi ke sistem file yang dimaksud dan memeriksa untuk melihat apa yang mengambil ruang setelah fakta (menggunakan pemantauan jaringan untuk melakukan peringatan proaktif masalah yang mungkin terjadi).
  4. Jika Anda benar-benar perlu mengetahui hal ini dan menunggu peringatan proaktif Anda untuk memberi tahu Anda ketika itu terjadi lagi (sehingga Anda dapat memeriksanya) bukanlah suatu pilihan, Anda akhirnya dapat menulis skrip untuk memantau direktori yang Anda perhatikan tentang. (pada dasarnya merekam output dari "find / path / to / dir -type d -exec du -sh {} \;" dengan cara yang akan mudah untuk Anda tinjau).

Jadi tidak ada permintaan nyata untuk membuat alat ruang pengguna untuk melakukan ini karena itu akan sulit dilakukan dengan benar dan solusi yang ada membuat Anda cukup dekat dengan yang ideal.

Jawaban Singkat: Saya tidak mengetahui alat seperti itu, tetapi masuk akal tidak akan ada.


Dalam jangkauan saya untuk meretas bersama skrip ruang pengguna untuk misalnya. merekam dusnapshot berkala dari cron semua / beberapa direktori, menyimpannya dalam SQL / CSV untuk analisis kemudian untuk mempersempit tempat penyimpanan sedang dikonsumsi saat, dan membuat laporan yang ramah untuk menentukan ini. Dengan kemampuan untuk memperbesar hierarki dir, orang berharap. Tapi itu menghabiskan waktu dan saya berharap sesuatu yang serupa ada, bahkan jika tidak sempurna (hardlink dll.)
Marcos

1
Saya bertanya-tanya apakah ini, dengan overhead yang jauh lebih sedikit daripada "du -s", dapat dilakukan dengan beberapa alat yang menonton jurnal filesystem?
Michael Martinez
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.