Mit Raspberry Pi 3B (im Folgenden: Raspberry Pi) möchte ich das angegebene Verzeichnis überwachen und eine beliebige Verarbeitung ausführen, wenn es aktualisiert wird.
--Hook: Das Bild wird in einem Verzeichnis gespeichert
Verwenden Sie insbesondere ** inotify-tools **, um die oben genannten Schritte auszuführen.
Installieren Sie mit apt-get.
$ sudo apt-get install inotify-tools
inotyfywait -e [Ereignis] [Überwachungsverzeichnis]
Verwenden Sie den Befehl inotfywait, um ein bestimmtes Ereignis und das zu überwachende Verzeichnis anzugeben.
Dieses Mal überwachen und verarbeiten wir das Ereignis move_to (in das Zielverzeichnis verschoben)
.
inotify_single.sh
#!/bin/sh
inotifywait -m -e moved_to A | \
rsync -rv A B
Ich verwende den Befehl rsync, um A und B zu synchronisieren.
Wenn Sie die Option -m
nicht hinzufügen, wird inotifywait beendet, wenn das erste Ereignis ausgegeben wird, sodass es hinzugefügt wird.
Wenn dies unverändert bleibt, wird die Überwachung beendet, wenn eine Reihe von Ereignissen benachrichtigt wird. Korrigieren Sie daher den Vorgang.
inotify_continuous.sh
#!/bin/sh
inotifywait -m -e moved_to A | \
while read _; do
rsync -rv A B
done
Auf diese Weise wird die while-Anweisung zur kontinuierlichen Überwachung verwendet.
[^ 1]: Sie können die Version von inotifywait mit inotifywait -hl
überprüfen