FSWATCH - Monitora arquivos e alterações ou modificações de diretório no Linux

FSWATCH - Monitora arquivos e alterações ou modificações de diretório no Linux

fswatch é um monitor de alteração de arquivo de plataforma cruzada que recebe alertas de notificação quando o conteúdo dos arquivos ou diretórios especificados são alterados ou modificados.

Ele executa quatro tipos de monitores em diferentes sistemas operacionais, como:

  1. Um monitor construir na API de eventos do sistema de arquivos do Apple OS X.
  2. Um monitor baseado em Kqueue, Uma interface de notificação presente no FreeBSD 4.1 também suportado em muitos sistemas BSD, OS X inclusive.
  3. Um monitor baseado na API de notificação de eventos de arquivo do kernel Solaris e seus spin-offs.
  4. Um monitor baseado no inotificar, um subsistema de kernel que mostra modificações no sistema de arquivos em aplicativos.
  5. Um monitor baseado no ReadDirectoryChangesw, uma API do Windows que registra altera para um diretório.
  6. Um monitor que verifica regularmente se o status do sistema de arquivos mantém os tempos de modificação de arquivos na memória e determina manualmente as alterações do sistema de arquivos (que funcionam em qualquer lugar, onde o STAT pode ser usado).

Recursos do fswatch

  1. Suporta várias APIs específicas do SO
  2. Permite monitoramento de diretório recursivo
  3. Executa a filtragem de caminho usando e excluindo expressões regulares
  4. Suporta formato de registro personalizável
  5. Além disso, ele suporta eventos ociosos periódicos

Como instalar o fswatch em sistemas Linux

Infelizmente, fswatch O pacote não está disponível para instalação nos repositórios do sistema padrão em nenhuma distribuição Linux. A única maneira de instalar a versão mais recente de fswatch é construir a partir do Tarball da fonte como show nas seguintes instruções de instalação.

Primeiro pegue o último fswatch Tarball usando o seguinte comando wget e instale -o como mostrado:

$ wget https: // github.com/emcrisostomo/fswatch/liberações/download/1.9.3/fswatch-1.9.3.alcatrão.gz $ tar -xvzf fswatch -1.9.3.alcatrão.gz $ cd fswatch-1.9.3 $ ./Configure $ FAZE $ SUDO FAÇA A instalação 

Importante: Verifique se você está GNU GCC (compilador C e C ++) e ferramentas de desenvolvimento (Construção-essencial sobre Debian/Ubuntu) instalado no sistema, antes de compilar o fswatch da fonte. Caso contrário, instale -o usando o seguinte comando em suas respectivas distribuições Linux…

# Yum Group Instalar 'Ferramentas de Desenvolvimento' [ON CENTOS/RHEL] # DNF Group Install 'Development Tools' [ON Fedora 22+ Versões] $ sudo apt-get install build-essencial [em Debian/Ubuntu Versões] 

Sobre Debian/Ubuntu Distribuições, você pode receber o seguinte erro ao executar fswatch comando…

FSWATCH: erro ao carregar bibliotecas compartilhadas: libfswatch.então.6: Não é possível abrir o arquivo de objeto compartilhado: nenhum arquivo ou diretório 

Para corrigi -lo, você precisa executar o comando abaixo, isso ajudará a atualizar os links e abastecer as bibliotecas dinâmicas antes que você possa começar a usar o FSWATCH.

$ sudo ldconfig 

Como uso o fswatch no Linux?

A sintaxe geral para executar o FSWATCH é:

$ fswatch [Opção] [caminho] 

Sobre Linux, É recomendável que você use o padrão inotificar monitor, você pode listar monitores disponíveis empregando o -M ou - Monitores de lista opção:

$ fswatch -m $ fswatch -Lista -monitores 
FSWATCH - MONITORES DE LISTA

O comando abaixo permite que você observe as alterações no diretório atual (/Home/Tecmint), com os eventos sendo entregues à saída padrão a cada 4 segundos.

O -eu ou --latência a opção permite que você defina a latência em segundos, o ser padrão 1 segundo.

$ fswatch -l 4 . 

O próximo comando monitores muda para o /var/log/auth.registro Arquive todo 5 segundos:

$ fswatch -l 5/var/log/auth.registro 

Usando -t ou --Timestamp a opção imprime o carimbo de data para cada evento, para imprimir o tempo em UTC formato, empregar -você ou --UTF-Time opção. Você também pode formatar o tempo usando -f ou --tempo de formato Opção de formato:

$ fswatch -Timestamp/var/log/auth.registro 

Próximo, -x ou --Flags de eventos diz fswatch Para imprimir as bandeiras do evento ao lado do caminho do evento. Você pode usar -Event-Field-Seperator opção para imprimir eventos usando o separador específico.

$ fswatch --events-flags ~/var/log/auth.registro 

Para imprimir o valor numérico de um evento indicando alterações em seu lar diretório e /var/log/auth.registro arquivo, use -n ou --numérico opção como abaixo:

$ fswatch -Numérico ~/var/log/auth.registro 

Talvez você possa olhar através do fswatch Página do homem para opções e informações detalhadas de uso:

$ man fswatch 

Para mais informações e uso, visite fswatch Repositório do Github: https: // github.com/Emcrisostomo/fswatch

Nesta postagem, abordamos um utilitário simples da linha de comando para ajudar os usuários do Linux a serem notificados quando o conteúdo de arquivos especificados ou hierarquias de diretório são modificados.

Espero que tudo corra bem com a instalação, se esse não for o caso de você, faça um esforço para entrar em contato conosco através do formulário de feedback abaixo. Além disso, caso você o tenha usado antes, você pode nos oferecer algumas reflexões sobre sua experiência com fswatch.