Ferramenta fswatch é gratuito e de código aberto, além de ser multiplataforma, pois pode ser instalado em diversos sistemas operacionais como GNU / Linux, Solaris, BSDs, Mac OS e até mesmo no Microsoft Windows. É uma ferramenta simples, mas poderosa, que pode monitorar e alertar sobre mudanças em diretórios e arquivos quando eles são modificados. No caso da versão Linux, ele é baseado no inotify, um subsistema do kernel que relata as alterações dos arquivos.
Infelizmente o pacote não é incluído por padrão em nenhum repositório de qualquer distribuição, então você terá que baixar, compilar e instalar manualmente se quiser ter esta ferramenta fantástica em seu sistema. Claro, para isso você deve ter as Ferramentas de Desenvolvimento instaladas em sua distribuição Linux, que geralmente são encontradas na maioria das distros, então isso não seria um problema para você com certeza.
O fswatch pode monitorar em períodos ociosos, personalizar o formato de gravação de eventos, usar filtros usando expressões regulares para o comando, monitoramento de diretório recursivo, etc. Pois bem, para instalar você deve fazer o seguinte:
wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.targ.gz tar -zxvf fswatch-1.9.3.tar.gz cd fswatch-1.9.3/ ./configure make sudo make install sudo ldconfig
A propósito, o último comando é necessário para atualizar os links e o cache da biblioteca, caso contrário, encontraríamos um erro típico:
fswatch: erro ao carregar bibliotecas compartilhadas: libfswatch.so.6: não é possível abrir o arquivo de objeto compartilhado: Não existe esse arquivo ou diretório.
Agora que você o instalou, você pode usá-lo. Te aconselho que verifique o manual, mas a sintaxe básica é:
fswatch [opciones] /rutas/a/monitorizar
Por exemplo, para monitorar o diretório inicial:
fswatch /home/isaac
Além disso, como você verá no manual, tem uma infinidade de opções interessantes para modificar seu comportamento ... Espero que tenha gostado e que te ajude.