Inotify – Monitore seus arquivos e diretórios

Inotify – Monitore seus arquivos e diretórios

Inotify (inode notify) é um subsistema do kernel, que visa observar as mudanças no sistema de arquivos e relatar essas alterações para aplicações. Foi incorporado no kernel 2.6.13 por John_McCutchan. Neste post, irei demonstrar utilizando um código em C e outro com Shell-Script.

Vamos testar com o código simples em C, crie um arquivo “inotify_example.c” com o conteúdo abaixo:
Compilando e testando
Inotify com shell script
O pacote inotify-tools possui diversos programas, vou utilizar um em específico, o inotifywait.
Instalação
Monitorando um diretório
O inotifywait possui uma lista de eventos, listei e comentei alguns:
access: Um arquivo foi lido.
modify: Arquivo modificado.
attrib: Os metadados de um arquivo foi modificado. Isso inclui timestamp, permissões, atributos etc.
close_write: Um arquivo foi fechado, depois de ser aberto no modo gravável. Isto não implica, necessariamente, que o arquivo foi gravado.
close_nowrite: Um arquivo fechado, depois de ser aberto no modo somente leitura.
open: Um arquivo foi aberto.
moved_to: Arquivo/Diretório foi movido para o diretório que está sendo observado.
move_self: O diretório monitorado foi movido. Após este evento, o arquivo ou diretório não está sendo observado.
create: Arquivo/Diretório foi criado.
delete: Arquivo/Diretório foi deletado.
delete_self: O diretório que está sendo assistido, foi deletado.
unmount: O diretório que está sendo observado, foi desmontado.
Para demonstrar a utilização desta bela ferramenta, crie um arquivo “inotify_example.sh” com o conteúdo abaixo:

 

Com isto, é possível logar as atividades na pasta em que está sendo observada. Por exemplo, aquele seu amigo que entra no seu servidor e deleta sua coleção de milhares de videos do Xvideos.

Programador Python/Cython/ShellScript/C/C++/QT/JS e Administrador de Redes.
Apaixonado por visão computacional, em específico Machine Learning/BackgroundSubtractor/Face Recognition e Object Tracking.
Atualmente desenvolvendo trabalhos voltados à contagem de pessoas. Se diverte utilizando suas raspberry’s e odroid’s para detectar rostos e sinalizar quando alguém está prestes a bater à porta para encher o saco.

Related Post