← retour aux snippets

inotifywait: surveiller des changements de fichiers

Déclencher une action dès qu'un fichier est modifié, créé ou supprimé.

bash filesystem #inotify#watch#automation

objectif

Automatiser des traitements à chaud lorsqu’un répertoire change, sans boucles coûteuses.

code minimal

inotifywait -m -e create,modify,delete --format '%:e %w%f' /var/data

utilisation

# recompresser automatiquement des logs nouveaux
inotifywait -m -e create /var/log | while read -r ev file; do
  case "$file" in
    *.log) zstd -T0 -q "$file" ;;
  esac
done

variante(s) utile(s)

# ignorer certains motifs
inotifywait -m --exclude '.*\.tmp$' -e modify /var/data

notes

  • inotifywait fait partie de inotify-tools.
  • attention aux évènements en rafale; envisagez des debounce (sleep 1).
  • pour des systèmes non-Linux, utilisez fswatch.