Como registrar todos os eventos realizados no diretório?


12

Como posso registrar todos os eventos realizados em um diretório específico?

Quero registrar a entrada de cada diretório modificado dentro de um período de tempo. Eu estou usando o find . -type d -mmin -5comando

Além disso, quero colocar mais detalhes, quando qualquer diretório é movido para outro local, preciso adicionar os detalhes do log abaixo, por exemplo,

O diretório "xyz" foi movido de "home / usr / xyz" => para "home / usr / documents / xyz"

Respostas:


9

Se estiver usando Linux, você deve tentar o inotifywaitcomando, ele foi projetado para escutar eventos em arquivos ou diretórios.

inotifywait -m -r /dir

Você pode usar um whileloop para filtrar a saída.

Além disso, é muito leve: não é necessário a poll()cada N segundos, é toda a mágica.

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


Doc do projeto de URL adicionado.
Gilles Quenot

inotifyé específico do Linux, mas a pergunta não está marcada como Linux. Boas soluções serão específicas do SO, como esta.
Jordanm #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.