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.