Come registrare tutti gli eventi eseguiti nella directory?


12

Come posso registrare tutti gli eventi eseguiti su una determinata directory?

Voglio registrare la voce di ogni directory modificata entro un certo periodo di tempo. Sto usando il find . -type d -mmin -5comando.

Inoltre, voglio aggiungere ulteriori dettagli, quando una directory viene spostata in un altro posto, devo aggiungere i dettagli del registro di seguito, ad es.

directory "xyz" spostata da "home / usr / xyz" => in "home / usr / documenti / xyz"

Risposte:


9

Se si utilizza Linux, si dovrebbe provare il inotifywaitcomando, è progettato per ascoltare eventi su file o directory.

inotifywait -m -r /dir

È possibile utilizzare un whileloop su quello per filtrare l'output.

Inoltre, è molto leggero: non è necessario poll()ogni N secondi, questa è tutta la magia.

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


Documento di progetto URL aggiunto.
Gilles Quenot,

inotifyè specifico di Linux ma la domanda non è taggata Linux. Buone soluzioni saranno specifiche del sistema operativo come questo però.
Giordania,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.