Hallo,
ich möchte mit inotify eine einzelne Datei in /tmp überwachen (Erstellung und Änderung). Das hab eich so gemacht:
1 2 3 4 5 6 | inotifywait -mrq -e create,close_write --format %f /tmp/ | while read FILE do if [ "$FILE" = datei ]; then echo "Die Datei $FILE wurde gerade erstellt oder geändert." fi done |
'create' reagiert wenn die Datei neu erstellt wurde und 'close_write' wenn die Datei nach dem Schreibvorgang geschlossen wurde. Wenn die Datei schon vorhanden ist und geändert wird sollte echo genau einmal ausgeführt werden, denn die Datei wird ja nur einmal geschlossen. echo kommt aber immer genau 2x. Wieso?
Bei 'modify' kommen andere Meldungen, z. B.
Die Datei .goutputstream-J9XHX2 wurde gerade erstellt oder geändert.
Das scheint eine Art temporäre Datei zu sein (?), da inotify in dem Moment reagiert wo der Speichervorgang beginnt und dann nicht wieder. 'close_wite' reagiert, wenn er abgeschlossen ist.
Bearbeitet von rklm:
Syntaxhighlighting. Bitte beachte Forum/Syntax und nutze die Vorschaufunktion!