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?
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?
Antworten:
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.
Sie können von lsof Informationen darüber erhalten, auf welche Dateien von process zugegriffen wird :
lsof -n -p `pidof your_app`
Und umgekehrt können Sie Prozess-PIDs erhalten, die in eine Datei schreiben / lesen:
lsof -n -t file
Sie können strace
alle Systemaufrufe eines Prozesses überwachen, einschließlich des gesamten Dateizugriffs.
Beim Starten eines Programms:
$ strace ./myserver
Sie können einem laufenden Prozess auch über seine PID eine Strace zuweisen:
$ ps aux | grep myserver
me 1859 0.0 0.0 25288 424 ? Ss Sep02 0:00 myserver
$ strace -p 1859