Bagaimana cara mencatat semua peristiwa yang dilakukan pada direktori?

12

Bagaimana saya bisa mencatat semua peristiwa yang dilakukan pada direktori tertentu?

Saya ingin mencatat entri setiap direktori yang diubah dalam beberapa durasi waktu. Saya menggunakan find . -type d -mmin -5perintah.

Selain itu, saya ingin memberikan lebih banyak detail, ketika direktori apa pun dipindahkan ke tempat lain, saya perlu menambahkan detail log di bawah ini, mis.,

direktori "xyz" pindah dari "home / usr / xyz" => ke "home / usr / dokumen / xyz"
Ghanshyam Rathod
sumber

Jawaban:

9

Jika menggunakan Linux, Anda harus mencoba inotifywaitperintah, itu dirancang untuk mendengarkan acara di file atau direktori.

inotifywait -m -r /dir

Anda dapat menggunakan whileloop di atasnya untuk memfilter output.

Selain itu, sangat ringan: tidak perlu poll()setiap N detik, itu semua keajaiban.

Lihat http://inotify-tools.sourceforge.net/

Gilles Quenot
sumber
Dokumen proyek URL ditambahkan.
Gilles Quenot
inotifyspesifik untuk Linux tetapi pertanyaannya bukan untuk Linux. Solusi yang bagus akan menjadi OS spesifik seperti ini.
jordanm