Estoy buscando un método simple que registre las operaciones del sistema de archivos. Debe mostrar el nombre del archivo al que se accede o se modifica.
Estoy familiarizado con powertop, y parece que esto funciona hasta cierto punto, en tanto que muestra los archivos de usuario en los que se escribieron. ¿Hay alguna otra utilidad que admita esta función?
Algunos de mis hallazgos:
powertop : mejor para el registro de acceso de escritura, pero más centrado en la actividad de la CPU
iotop : muestra el acceso al disco en tiempo real por proceso, pero no el nombre del archivo
lsof : muestra los archivos abiertos por proceso, pero no el
iostato de acceso a archivos en tiempo real : muestra el tiempo real I / O rendimiento de disco / matrices pero no indica archivo o proceso
fanotify
es un nuevo marco de notificación del sistema de archivos en el kernel de Linux (agregado recientemente alrededor de 2012). Es posible que desee comprobar eso. Las herramientas y utilidades que lo usan todavía se están escribiendo, por lo que es posible que tenga que escribir uno usted mismo, pero es mucho más robusto que inotify, famin o cualquier otra cosa que haya visto hasta ahora.fatrace
desde aquí .nmbd
en elstrace
comando dado ?Otra opción es http://linux.die.net/man/7/inotify, donde muchas distribuciones proporcionan "herramientas de inotify" para que pueda ver una ruta a través de
fuente
Recientemente me encontré con fatrace que usa fanotify . Funciona hermoso, así que pensé que compartiría. Registra todos los tipos de operaciones de archivo, incluidos abrir / crear / modificar en stdout u opcionalmente un archivo e incluso puede filtrar para obtener solo algunos tipos de operaciones. Por defecto, monitorea todos los montajes, excepto los virtuales. El propio autor lo explica bien aquí.
fuente
Para iniciar sesión (en lugar de monitorear), debería considerar usar el demonio de auditoría de Linux introducido en el kernel 2.6.
fuente
fuente