Fswatch - surveille les fichiers et les modifications ou modifications du répertoire dans Linux

Fswatch - surveille les fichiers et les modifications ou modifications du répertoire dans Linux

fswatch est un moniteur de modification de fichiers multiplateforme qui obtient des alertes de notification lorsque le contenu des fichiers ou répertoires spécifiés est modifié ou modifié.

Il exécute quatre types de moniteurs sur différents systèmes d'exploitation tels que:

  1. Un moniteur construit sur l'API des événements du système de fichiers d'Apple OS X.
  2. Un moniteur basé sur kqueue, Une interface de notification présente dans FreeBSD 4.1 également pris en charge sur de nombreux systèmes * BSD, OS X inclusif.
  3. Un moniteur basé sur l'API de notification des événements de fichiers du noyau Solaris plus ses spin-offs.
  4. Un moniteur basé sur Inotify, un sous-système de noyau qui affiche des modifications du système de fichiers aux applications.
  5. Un moniteur basé sur ReadDirectoryChangesw, une API Windows qui enregistre modifie à un répertoire.
  6. Un moniteur qui vérifie régulièrement cet statut du système de fichiers, conserve les temps de modification des fichiers en mémoire et déterminer manuellement les modifications du système de fichiers (qui fonctionne n'importe où, où STAT peut être utilisé).

Caractéristiques de Fswatch

  1. Prend en charge plusieurs API spécifiques au système d'exploitation
  2. Permet la surveillance du répertoire récursif
  3. Effectue un filtrage de chemin en utilisant et excluant les expressions régulières
  4. Prend en charge le format d'enregistrement personnalisable
  5. De plus, il prend en charge les événements inactives périodiques

Comment installer Fswatch dans les systèmes Linux

Malheureusement, fswatch Le package n'est pas disponible pour installer à partir des référentiels système par défaut dans toutes les distributions Linux. La seule façon d'installer la dernière version de fswatch est de construire à partir du tarball source comme le montre dans les instructions d'installation suivantes.

Prenez d'abord le dernier fswatch Tarball en utilisant la commande wget suivante et installez-le comme indiqué:

$ wget https: // github.com / emcrisostomo / fswatch / releases / download / 1.9.3 / fswatch-1.9.3.le goudron.gz $ tar -xvzf fswatch-1.9.3.le goudron.gz $ cd fswatch-1.9.3 $ ./ Configurer $ Make $ sudo 

Important: Assurez-vous que vous avez des outils GNU GCC (C et C ++) et des outils de développement (essentiel sur Debian / Ubuntu) installé sur le système, avant de compiler Fswatch à partir de la source. Sinon, installez-le en utilisant la commande suivante sur vos distributions Linux respectives…

# groupe Yum installer des «outils de développement» [sur Centos / Rhel] # groupe DNF installer des «outils de développement» [sur Fedora 22+ Versions] $ sudo apt-get install build-essentiel [on Debian / Ubuntu Versions] 

Sur Debian / Ubuntu Distributions, vous pouvez obtenir une erreur suivante lors de l'exécution fswatch commande…

Fswatch: erreur lors du chargement des bibliothèques partagées: libfswatch.donc.6: Impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type 

Pour le réparer, vous devez exécuter la commande ci-dessous, cela aidera à actualiser les liens et à cache aux bibliothèques dynamiques avant de pouvoir commencer à utiliser FSWATCH.

$ sudo ldconfig 

Comment utiliser Fswatch sur Linux?

La syntaxe générale pour l'exécution de Fswatch est:

$ fswatch [option] [chemin] 

Sur Linux, il est recommandé d'utiliser la valeur par défaut inotifier Moniteur, vous pouvez énumérer les moniteurs disponibles en utilisant le -M ou - listes-moniteurs option:

$ fswatch -m $ fswatch --list-moniteurs 
FSWATCH - Liste des moniteurs

La commande ci-dessous vous permet de regarder les modifications dans le répertoire actuel (/ Home / Tecmint), avec des événements livrés à la sortie standard chaque 4 secondes.

Le -l ou --latence L'option vous permet de définir la latence en secondes, la valeur par défaut 1 deuxième.

$ fswatch -l 4 . 

La commande suivante surveille les changements / var / log / auth.enregistrer déposer chaque 5 secondes:

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

En utilisant -t ou --horodatage L'option imprime le horodatage pour chaque événement, pour imprimer l'heure UTC format, employer -u ou --UTF-temps option. Vous pouvez également formater le temps en utilisant -F ou --temps de format Option de format:

$ fswatch --timestamp / var / log / auth.enregistrer 

Suivant, -X ou --flat d'événement raconte fswatch Pour imprimer les drapeaux de l'événement à côté du chemin de l'événement. Vous pouvez utiliser -sépeur de champ d'événements Option d'imprimer des événements en utilisant le séparateur particulier.

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

Pour imprimer la valeur numérique d'un événement indiquant des modifications dans votre maison répertoire et / var / log / auth.enregistrer fichier, utiliser -n ou --numérique Option comme ci-dessous:

$ fswatch --numérique ~ / var / log / auth.enregistrer 

Peut-être pouvez-vous regarder à travers le fswatch Page de l'homme pour les options et informations d'utilisation détaillées:

$ man fswatch 

Pour plus d'informations et d'utilisation, visitez fswatch Référentiel GitHub: https: // github.com / Emcrisostomo / Fswatch

Dans cet article, nous avons couvert un utilitaire de ligne de commande simple pour aider les utilisateurs de Linux à être informés lorsque le contenu des fichiers spécifiés ou des hiérarchies de répertoire est modifié.

J'espère que tout s'est bien passé avec l'installation, si ce n'est pas le cas pour vous, faites un effort pour nous joindre via le formulaire de rétroaction ci-dessous. De plus, au cas où vous l'auriez déjà utilisé, vous voudrez peut-être nous offrir quelques réflexions sur votre expérience avec fswatch.