Chtěl bych mít trigger a když je určitý soubor zpřístupněn nějakým procesem, chtěl bych být upozorněn (tj. měl by být spuštěn skript). Pokud tomu dobře rozumím, lze toho dosáhnout pomocí inotify
.
Pokud mám soubor /foo/bar.txt
jak bych nastavil inotify
sledovat tento soubor?
Používám Debian Wheezy s jádrem 3.12 (moje jádro má podporu inotify)
Přijatá odpověď:
Podle Gillese na Super User:
Jednoduché, pomocí inotifywait (nainstalujte si
inotify-tools
vaší distribuce balíček):while inotifywait -e close_write myfile.py; do ./myfile.py; done
To má velké omezení:pokud nějaký program nahradí
myfile.py
s jiným souborem místo zápisu do existujícíhomyfile
,inotifywait
zemře. Většina editorů tak funguje.K překonání tohoto omezení použijte
inotifywait
v adresáři:while true; do change=$(inotifywait -e close_write,moved_to,create .) change=${change#./ * } if [ "$change" = "myfile.py" ]; then ./myfile.py; fi done
Jak se program rozhodne, zda bude či nebude mít barevný výstup?
Linux – Jak nastavit Disk Mirroring (raid-1)?