Ich suche nach einer einfachen Methode, die Dateisystemoperationen protokolliert. Es sollte den Namen der Datei anzeigen, auf die zugegriffen oder die geändert wird.
Ich kenne powertop und es scheint, dass dies in einem solchen Ausmaß funktioniert, dass es die Benutzerdateien anzeigt, in die geschrieben wurde. Gibt es andere Dienstprogramme, die diese Funktion unterstützen?
Einige meiner Erkenntnisse:
powertop : am besten für den Schreibzugriff Protokollierung, aber mehr konzentrierte sich auf die CPU - Aktivität
iotop : zeigt Echtzeit - Festplattenzugriff durch den Prozess, aber nicht Dateinamen
lsof : zeigt die offenen Dateien pro Prozess, aber nicht in Echtzeit Dateizugriff
iostat : zeigt die Echtzeit - I / O-Leistung von Datenträgern / Arrays, zeigt jedoch weder Datei noch Prozess an
fanotify
ist ein neues Dateisystem-Benachrichtigungsframework im Linux-Kernel (kürzlich um 2012 hinzugefügt). Vielleicht möchten Sie das überprüfen. Tools und Dienstprogramme, die es verwenden, werden noch geschrieben, daher müssen Sie möglicherweise eines selbst schreiben, aber es ist viel robuster als inotify, famin oder alles andere, was Sie bisher gesehen haben.fatrace
von hier aufgerufen wird .nmbd
in dem gegebenenstrace
Befehl?Eine andere Option ist http://linux.die.net/man/7/inotify, wo viele Distributionen "inotify-tools" bereitstellen, über die Sie einen Pfad anzeigen können
quelle
Ich bin kürzlich auf fatrace gestoßen , das fanotify verwendet . Funktioniert wunderbar, also dachte ich mir, ich würde teilen. Es werden alle Arten von Dateivorgängen protokolliert, einschließlich Öffnen / Erstellen / Ändern in stdout oder optional eine Datei, und Sie können sogar filtern, um nur einige Arten von Vorgängen abzurufen. Standardmäßig werden alle Halterungen mit Ausnahme der virtuellen überwacht. Der Autor selbst erklärt es hier gut.
quelle
Zum Protokollieren (anstatt zum Überwachen) sollten Sie den in Kernel 2.6 eingeführten Linux- Überwachungsdämon verwenden .
quelle
quelle