Hallo,
ich lasse in einem Script Dateien auf Änderungen beobachten. Je nachdem welche geändert wird, sollen Befehle ausgeführt werden. inotifywait gibt mir aber nur für eine der beiden Dateien den Dateinamen aus, den ich dann im Script weiter verwursten kann. Das ganze sieht so aus:
while true; do inotifywait -e modify datei1 datei2 | while read FILE do echo "$FILE" done done
Hier sollte je nachdem welche Datei geändert wurde, der Dateiname inkl. Pfad sowie "MODIFY" erscheinen (durch echo $FILE). Das geht aber nur bei einer der Dateien. inotifywait reagiert schon auf Änderungen, aber nicht indem der Pfad ausgegeben wird, sondern es wird nur einfach erneut
Setting up watches. Watches established.
angezeigt. Auch interessant: Wen ich '-e modify' weg lasse werden alle events beobachtet. Wenn ich die 2. Datei hier öffne erhalte ich eine Ausgabe in Form
/pfad/zur/datei OPEN
Nur mit modify geht es nicht. Die Datei wird auch tatsächlich geändert, md5sum ergibt unterschiedliche Prüfsummen vor- und nachher.
Hat inotifywait eine komische Definition für "geändert"?
Falls es wichtig ist: Die funktionierende Datei ist die training.dat im Thunderbird (der Junk-Filter) und die nicht funktionierende eine msgFilterRules.dat, das sind alle manuell erstellten Filter. Die training.dat wird erst geändert, wenn ich Thunderbird schließe, die andere wenn der Einstellungsdialog geändert wurde. Nach dem schließen von Thunderbird tut sich aber auch nichts.
Fried-rich