J'aimerais avoir un déclencheur et lorsqu'un fichier particulier est accédé par un processus, j'aimerais être averti (c'est-à-dire qu'un script doit être exécuté). Si je comprends bien, cela pourrait être réalisé avec inotify .
Si j'ai un fichier /foo/bar.txt comment configurer inotify surveiller ce fichier ?
J'utilise Debian Wheezy avec le noyau 3.12 (mon noyau prend en charge inotify)
Réponse acceptée :
D'après Gilles sur Super User :
Simple, en utilisant inotifywait (installez les
inotify-toolsde votre distribution paquet):while inotifywait -e close_write myfile.py; do ./myfile.py; doneCela a une grosse limitation :si un programme remplace
myfile.pyavec un fichier différent, plutôt que d'écrire dans lemyfileexistant ,inotifywaitmourront. La plupart des éditeurs fonctionnent de cette façon.Pour surmonter cette limitation, utilisez
inotifywaitsur le répertoire :while true; do change=$(inotifywait -e close_write,moved_to,create .) change=${change#./ * } if [ "$change" = "myfile.py" ]; then ./myfile.py; fi done