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”
Ghanshyam Rathod
źródło

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/

Gilles Quenot
źródło
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,