GNU/Linux >> Tutoriels Linux >  >> Linux

Comment surveiller une arborescence de répertoires complète pour les changements sous Linux ?

J'ai fait quelque chose de similaire en utilisant le inotifywait outil :

#!/bin/bash
while true; do

inotifywait -e modify,create,delete -r /path/to/your/dir && \
<some command to execute when a file event is recorded>

done

Cela configurera des surveillances de répertoires récursives sur l'ensemble de l'arborescence et vous permettra d'exécuter une commande lorsque quelque chose change. Si vous voulez juste voir les changements, vous pouvez ajouter le -m drapeau pour le mettre en mode moniteur.


À ma connaissance, il n'y a pas d'autre moyen que de définir récursivement un inotify regarder sur chaque répertoire.

Cela dit, vous ne manquerez pas de descripteurs de fichiers car inotify n'a pas besoin de réserver un fd pour surveiller un fichier ou un répertoire (son prédécesseur, dnotify , a souffert de cette limitation). inotify utilise des "descripteurs de surveillance" à la place.

Selon la documentation d'inotifywatch, la limite par défaut est de 8192 descripteurs de surveillance, et vous pouvez l'augmenter en écrivant la nouvelle valeur à /proc/sys/fs/inotify/max_user_watches .


$ inotifywait -m -r /path/to/your/directory

Cette commande suffit à surveiller le répertoire de manière récursive pour tous les événements tels que l'accès, l'ouverture, la création, la suppression...


Linux
  1. Comment trouver le fichier le plus ancien dans une arborescence de répertoires sous Linux

  2. Comment renommer un répertoire sous Linux

  3. Comment obtenir la taille du répertoire sous Linux

  4. Comment puis-je obtenir par programme l'espace disque libre pour un répertoire sous Linux

  5. Comment rechercher un mot dans tout le contenu d'un répertoire sous Linux

Comment regarder Hulu sur Linux

Comment surveiller les modifications de fichiers à l'aide de fswatch sous Linux

Comment afficher l'arborescence des répertoires sous Linux

Comment définir un fond d'écran différent pour chaque moniteur sous Linux

Comment copier un répertoire sous Linux

Commandes du répertoire Linux :un guide complet