Jak zarejestrować wszystkie zdarzenia wykonane w katalogu?


12

Jak mogę zarejestrować wszystkie zdarzenia wykonane w określonym katalogu?

Chcę zarejestrować wpis każdego zmodyfikowanego katalogu w określonym czasie. Używam find . -type d -mmin -5polecenia.

Oprócz tego chcę podać więcej szczegółów, gdy dowolny katalog zostanie przeniesiony w inne miejsce, muszę dodać poniższe szczegóły dziennika, np.

katalog „xyz” przeniesiono z „home / usr / xyz” => do „home / usr / documents / xyz”

Odpowiedzi:


9

Jeśli używasz Linux, powinieneś spróbować inotifywaitpolecenia, jest przeznaczony do nasłuchiwania zdarzeń w plikach lub katalogach.

inotifywait -m -r /dir

Możesz użyć whilepętli, aby przefiltrować dane wyjściowe.

Co więcej, jest bardzo lekki: nie trzeba poll()co N sekund, to cała magia.

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


Dodano dokument projektu URL.
Gilles Quenot,

inotifyjest specyficzny dla Linuksa, ale pytanie nie jest oznaczone jako Linux. Jednak dobre rozwiązania będą specyficzne dla systemu operacyjnego, jak ten.
jordanm,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.