Dizinde gerçekleştirilen tüm olaylar nasıl günlüğe kaydedilir?


12

Belirli bir dizinde gerçekleştirilen tüm olayları nasıl kaydedebilirim?

Bir süre içinde değiştirilen her bir dizinin girişini kaydetmek istiyorum. find . -type d -mmin -5Komut kullanıyorum .

Buna ek olarak, daha fazla ayrıntı koymak istiyorum, herhangi bir dizin başka bir yere taşındığında, aşağıdaki günlük ayrıntılarını eklemeniz gerekiyor, örn.

"xyz" dizini "home / usr / xyz" => dizininden "home / usr / belgeler / xyz" dizinine taşındı

Yanıtlar:


9

Kullanıyorsanız Linux, inotifywaitkomutu denemelisiniz , dosyalar veya dizinlerdeki olayları dinlemek için tasarlanmıştır.

inotifywait -m -r /dir

whileÇıkışı filtrelemek için bunun üzerinde bir döngü kullanabilirsiniz .

Dahası, çok hafif: poll()Her N saniyede bir gerek yok , hepsi sihir.

Bkz. Http://inotify-tools.sourceforge.net/


URL projesi dokümanı eklendi.
Gilles Quenot

inotifyLinux'a özgüdür ancak soru Linux ile etiketlenmemiştir. İyi çözümler buna benzer işletim sistemine özgü olacak.
jordanm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.