Comment enregistrer tous les événements effectués sur le répertoire?


12

Comment puis-je enregistrer tous les événements effectués sur un répertoire particulier?

Je veux enregistrer l'entrée de chaque répertoire modifié dans un certain laps de temps. J'utilise la find . -type d -mmin -5commande.

En plus de cela, je veux mettre plus de détails, quand un répertoire est déplacé vers un autre endroit, je dois ajouter les détails du journal ci-dessous, par exemple.,

répertoire "xyz" déplacé de "home / usr / xyz" => vers "home / usr / documents / xyz"

Réponses:


9

Si vous utilisez Linux, vous devriez essayer la inotifywaitcommande, elle est conçue pour écouter les événements sur des fichiers ou des répertoires.

inotifywait -m -r /dir

Vous pouvez utiliser une whileboucle sur celle-ci pour filtrer la sortie.

De plus, c'est très léger: pas besoin poll()toutes les N secondes, c'est toute la magie.

Voir http://inotify-tools.sourceforge.net/


Document de projet URL ajouté.
Gilles Quenot

inotifyest spécifique à Linux mais la question n'est pas étiquetée Linux. Les bonnes solutions vont être spécifiques au système d'exploitation comme celui-ci.
jordanm
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.