Watchman - Eine Datei- und Verzeichnisbeobachtungstools für Änderungen
- 1528
- 200
- Ilja Köpernick
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.SchErstellen 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-ListeBeobachtungsliste 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 ~/binTriggerliste 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.
$ lsTest 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.
- Swatchdog - Einfacher Protokolldateibeobachter in Echtzeit unter Linux
- 4 Möglichkeiten zum Anschauen oder Überwachen von Protokolldateien in Echtzeit
- FSWATCH - Monitors Dateien und Verzeichnisänderungen unter Linux überwacht
- Pyintify - Überwachen Sie Änderungen des Dateisystems in Echtzeit unter Linux
- 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.
- « Lernen Sie den Python -Identitätsbetreiber und den Unterschied zwischen == und IS -Operator
- So richten Sie einen Redis -Cluster in CentOS 8 - Teil 3 ein »