Ich möchte sehen, was in meinen App-Server-Ordnern passiert, dh welche Dateien von process x geändert wurden oder welche *.war
Dateien in den letzten x Minuten geändert (ersetzt / erstellt) wurden.
Gibt es in Linux ein Tool, das dabei hilft?
shell
files
process
monitoring
Martin V.
quelle
quelle
Antworten:
Abhängig von Ihren genauen Anforderungen möchten Sie sich möglicherweise mit Inotify- und / oder FAM / GAMIN- Lösungen befassen .
quelle
Strace (wie oben beschrieben) ist eine Möglichkeit, die Aktionen einer bestimmten ausgeführten Software zu überprüfen.
Einige Befehle wie
watch find dir/ -mmin 1
können auch dazu beitragen, in einem Verzeichnis nach Änderungen der letzten Minute zu suchen.Je nachdem, wonach Sie genau suchen, ist inotify-tools wahrscheinlich ein weiteres Handwerkszeug.
inotifywait -mr dir/
Überwacht z. B. Änderungen im angegebenen Verzeichnis und gibt Ihnen sofort Feedback zu jeder Anwendung, die versucht, eine Datei zu öffnen, zu lesen, zu schreiben oder zu schließen. Inotify gibt Ihnen jedoch kein Feedback darüber, welche Anwendung oder welcher Prozess auf die Datei zugreift.Bitte beachten Sie, dass die Überwachung auf Systemebene für Java-Software, die in einigen Anwendungscontainerumgebungen ausgeführt wird, in der Regel nur von begrenztem Nutzen ist, da nur der Container (z. B. Tomcat), nicht jedoch die tatsächliche Anwendung (z. B. war) mit dem System interagiert.
quelle
Sie können von lsof Informationen darüber erhalten, auf welche Dateien von process zugegriffen wird :
Und umgekehrt können Sie Prozess-PIDs erhalten, die in eine Datei schreiben / lesen:
quelle
Sie können
strace
alle Systemaufrufe eines Prozesses überwachen, einschließlich des gesamten Dateizugriffs.Beim Starten eines Programms:
Sie können einem laufenden Prozess auch über seine PID eine Strace zuweisen:
quelle
watch find dir/ -mmin 1
hat bei mir nicht geklappt, es wurde einfach kopiert und unterschieden:Es ist ziemlich ressourcenintensiv, zeigt aber alle Änderungen zwischen dem Schnappschuss und der
diff
Zeit an.quelle