Watchman - Eine Datei- und Verzeichnisbeobachtungstools für Änderungen

Watchman - Eine Datei- und Verzeichnisbeobachtungstools für Änderungen

Wächter ist eine Open Source- und plattformübergreifende Datei, mit der Dateien und Aufzeichnungen angesehen oder Aktionen durchgeführt werden, wenn sie sich ändern. Es wurde von entwickelt von Facebook und läuft unter Linux, OS X, FreeBSD und Solaris. Es wird in einem Kunden-Server-Modell ausgeführt und verwendet den Nutzung des Linux-Kernels, um eine leistungsstärker.

Nützliche Konzepte von Watchman

  • Es beobachtet rekursiv eine oder mehrere Verzeichnisbäume.
  • Jedes beobachtete Verzeichnis wird als Wurzel bezeichnet.
  • Es kann über die Befehlszeile oder eine Konfigurationsdatei konfiguriert werden, die im JSON-Format geschrieben wurde.
  • Es werden Änderungen bei Protokolldateien aufgezeichnet.
  • Unterstützt Abonnement für Dateien, die in einem Root auftreten.
  • Ermöglicht Ihnen, ein Root für Dateiänderungen abzufragen, seit Sie das letzte Mal überprüft haben, oder den aktuellen Status des Baumes.
  • Es kann ein ganzes Projekt sehen.

In diesem Artikel werden wir erklären, wie man installiert und verwendet Wächter Dateien (Überwachung) und Aufzeichnung zu sehen und aufzunehmen, wenn sie sich unter Linux ändern. Wir werden auch kurz zeigen, wie man ein Verzeichnis ansieht und ein Skript aufruft, wenn es sich ändert.

Installieren von Watchman -Dateianobjekten in Linux

Wir werden installieren Wächter Service aus Quellen, installieren Sie also zuerst diese erforderlichen Abhängigkeiten libsl-dev, Autoconf, Automake libtool, setuptools, Python-devel Und libfolly Verwenden Sie den folgenden Befehl in Ihrer Linux -Verteilung.

----------- Auf Debian/Ubuntu ----------- $ sudo apt installieren autoconf Automake build-wesentlich python-setuptools python-dev libsl-dev Libtool ----------- Auf rhel/centos ----------- # YUM Installation AutoConf Automake Python-Setuptools Python-Devel OpenSSL-Devel libsl-devel libtool # yum GroupInstall 'Development Tools' ----------- Auf Fedora ----------- $ sudo dnf install autoconf Automake python-setuptools opensensl-devel libsl-devel libtool $ sudo dnf GroupInstall 'Development Tools' 

Sobald die benötigten Abhängigkeiten installiert sind, können Sie Watchman mit dem Herunterladen seines Github -Repositorys mit dem Herunterladen des lokalen Repositorys aufnehmen, sie mit den folgenden Befehlen konfigurieren, erstellen und installieren.

$ git klone https: // github.Com/Facebook/Watchman.Git $ CD Watchman $ Git Checkout v4.9.0 $ ./Autogen.Sh $ ./Konfigurieren Sie $ $ sudo mach installieren 

Anschauen von Dateien und Verzeichnissen mit Watchman unter Linux

Wächter Kann auf zwei Arten konfiguriert werden: (1) über die Befehlszeile, während der Daemon im Hintergrund oder (2) über eine Konfigurationsdatei im JSON-Format ausgeführt wird.

Ein Verzeichnis sehen (e.G ~/bin) Führen Sie für Änderungen den folgenden Befehl aus.

$ Watchman Uhr ~/bin/ 
Sehen Sie sich ein Verzeichnis in Linux an

Der folgende Befehl schreibt eine Konfigurationsdatei aufgerufen Zustand unter /usr/local/var/run/watchman/-state/, im JSON -Format sowie eine Protokolldatei aufgerufen Protokoll am selben Ort.

Sie können die beiden Dateien mit dem CAT -Befehl als Show anzeigen.

$ cat/usr/local/var/run/watchman/aaronkilik-state/state $ cat/usr/local/var/run/watchman/aaronkilik-state/log 

Sie können auch definieren, welche Maßnahmen ausgelöst werden sollen, wenn ein Verzeichnis auf Änderungen beobachtet wird. Zum Beispiel im folgenden Befehl ','Test-Trigger'ist der Name des Abzugs und ~ bin/pav.Sch ist das Skript, das aufgerufen wird, wenn Änderungen im zu überwachenden Verzeichnis erkannt werden.

Für Testzwecke die pav.Sch Das Skript erstellt einfach eine Datei mit a Zeitstempel (ich.e Datei.$ Zeit.txt) In demselben Verzeichnis, in dem das Skript gespeichert ist.

Uhrzeit = 'Datum +%y-%M-%d.%H:%M:%s 'Touch -Datei.$ Zeit.txt 

Speichern Sie die Datei und lassen Sie das Skript wie gezeigt ausführbar.

$ chmod +x ~/bin/pav.Sch 

Führen Sie den folgenden Befehl aus, um den Auslöser zu starten, um den folgenden Befehl auszuführen.

$ Watchman-Trigger ~/bin 'Test-Trigger'-~/bin/pav.Sch 
Erstellen Sie einen Auslöser im Verzeichnis

Wenn Sie ausführen Wächter Um ein Verzeichnis im Auge zu behalten, führen Sie den folgenden Befehl aus.

$ Watchman Watch-Liste 
Beobachtungsliste anzeigen

Um die Triggerliste für a anzuzeigen Wurzel, Führen Sie den folgenden Befehl aus (ersetzen Sie ~/bin mit dem Wurzel Name).

$ Watchman Trigger-Liste ~/bin 
Triggerliste für eine Stamme anzeigen

Basierend auf der obigen Konfiguration jedes Mal, wenn die ~/bin Verzeichnisänderungen, eine Datei wie z. B Datei.2019-03-13.23:14:17.txt wird darin erstellt und Sie können sie mit dem LS -Befehl anzeigen.

$ ls 
Test Watchman -Konfiguration

Deinstallieren des Watchman -Dienstes unter Linux

Wenn Sie deinstallieren möchten Wächter, Gehen Sie in das Quellverzeichnis und führen Sie die folgenden Befehle aus:

$ sudo make deinstall $ cd '/usr/local/bin' && rm -f Watchman $ cd '/usr/local/share/doc/watchman -4.9.0 '&& rm -f Readme.Markdown 

Weitere Informationen finden Sie im Watchman Github Repository: https: // github.Com/Facebook/Watchman.

Möglicherweise lesen Sie auch die folgenden verwandten Artikel.

  1. Swatchdog - Einfacher Protokolldateibeobachter in Echtzeit unter Linux
  2. 4 Möglichkeiten zum Anschauen oder Überwachen von Protokolldateien in Echtzeit
  3. FSWATCH - Monitors Dateien und Verzeichnisänderungen unter Linux überwacht
  4. Pyintify - Überwachen Sie Änderungen des Dateisystems in Echtzeit unter Linux
  5. INAV - APache -Protokolle in Echtzeit unter Linux ansehen

Wächter ist eine Open -Source -Datei, die den Dienst ansieht, der Dateien und Aufzeichnungen ansieht oder Aktionen auslöst, wenn sie sich ändern. Verwenden Sie das Feedback -Formular unten, um Fragen zu stellen oder Ihre Gedanken mit uns zu teilen.