watcherd – Shell-Listener für Verzeichnisänderungen unter Linux

In diesem Artikel werde ich Ihnen etwas über den Shell-Verzeichnis-Listener namens . erzählen Wächter. Daemon watcherd überprüft die Verzeichnisänderungen und führt die angegebenen Befehle oder Shell-Skripte aus.

Watcherd installieren

Unter Ubuntu 16.04

Herunterladen

$ wget https://github.com/devilbox/watcherd/archive/master.zip

Archiv entpacken

$ unzip master.zip 

Wenn Sie unzip nicht installiert haben, führen Sie aus

$ sudo apt-get install unzip

Und kopiere nach /usr/bin/

$ sudo cp watcherd-master/watcherd /usr/bin/

Verwendung

Jetzt können wir ausführen mit --help Flagge

$ watcherd --help

Lassen Sie uns ein Verzeichnis namens test erstellen und watcherd zum Laufen bringen

$ mkdir test

Jetzt Watcher mit einfachen Parametern starten

$ watcherd -v -p ~/test -a "echo added %n" -d "echo deleted %n" -t "ls -l ~/test" 

Ein kleiner Hinweis zu Watcherd-Parametern

  • -v ausführliche Ausgabe
  • -p ~/test Pfad zum Verzeichnis
  • -a "echo added %n" ausführen "echo added" wenn ein Verzeichnis im Pfad erstellt wird
  • -d "echo deleted %n" ausführen "echo deleted" wenn ein Verzeichnis im Pfad gelöscht wird
  • %n wird durch den Verzeichnisnamen ersetzt oder Sie können verwenden %p um einen vollständigen Pfad zum erstellten oder gelöschten Verzeichnis zu erhalten
  • -t "ls -l ~/test" Befehl nach Auslösen ausführen
  • & im Hintergrund laufen

Und schau ob es läuft

$ ps ax | grep watcherd

Jetzt können wir versuchen, ein neues Verzeichnis namens . zu erstellen aaa in unserer Testmappe

$ mkdir test/aaa

Wie wir nach dem Erstellen des Verzeichnisses sehen können aaa Wächter hingerichtet 'echo added aaa', haben wir eine ausführliche Nachricht von watcherd mit dem Hinzufügen eines neuen Verzeichnisses und seines vollständigen Pfads erhalten und ls -l Ausgang auslösen.

Jetzt löschen wir dieses Verzeichnis und überprüfen die Ausgabe

$ rm -r test/aaa

Wir haben die gleiche Ausgabe nur mit dem echo deleted aaa. Aber anstatt zu tun echo Sie können dort jeden Shell-Befehl ausführen oder ein beliebiges Skript ausführen.

Dieser Daemon kann bei Webservern wie nginx oder Apache sehr nützlich sein, um neue Ordner mit Websites zu überwachen, neue Konfigurationsdateien zu erstellen und den Webserver neu zu starten.