
Ich habe erfolgreich rekursiv einen Watcher für Änderungen innerhalb eines Verzeichnisses erstellt:
inotifywait -m -r -e modify --format '%w%f' "$Path" | while read File
do
echo "File $File is modified"
done
Ich habe jedoch einige symbolische Links in diesem Verzeichnis. Und wenn ich sie in einem Editor öffne und ändere, inotifywait
wird nichts gedruckt.
Ich denke, das liegt daran, dass sich die eigentlichen Dateien in einem anderen Verzeichnis befinden.
Wie erkenne ich, inotifywait
dass auch Änderungen an Links erkannt werden?
Antwort1
Das geht nicht. inotifywait
Überwacht die symbolischen Links selbst, nicht die Dateien, auf die sie verweisen.
Im Hintergrund inotifywait
wird der inotify
Systemaufruf mit dem IN_DONT_FOLLOW
Flag verwendet, was dieses Verhalten verursacht. Wenn Sie das ändern möchten, müssen Sie Ihren eigenen inotifywait
, ohne das Flag, schreiben.
Ich habe das vondiese Diskussion.