Je voudrais voir ce qui se passe dans mes dossiers de serveur d'applications, c'est-à-dire quels fichiers sont modifiés par le processus x ou lesquels *.war
les fichiers ont été modifiés (remplacés/créés) au cours des x dernières minutes.
Existe-t-il un outil sous Linux pour vous aider?
Strace (comme indiqué ci-dessus) est un moyen de vérifier les actions d'un logiciel en cours d'exécution spécifié.
Une commande comme watch find dir/ -mmin 1
peut également aider à vérifier les changements de la dernière minute dans certains répertoires.
Selon ce que vous cherchez exactement, inotify-tools est probablement un autre outil commercial ici.
Par exemple, inotifywait -mr dir/
surveille les changements dans le répertoire donné et vous donne instantanément des informations sur toute application essayant d'ouvrir/lire/écrire/fermer un fichier. Cependant, inotify ne vous donne pas de commentaires sur l'application ou le processus qui accède au fichier - c'est quelque chose que strace fait.
Veuillez noter que la surveillance au niveau du système est généralement d'une utilité limitée pour Java exécuté dans un environnement de conteneur d'application, car vous ne voyez que le conteneur (par exemple Tomcat), mais pas l'application réelle (par exemple .war)) en interaction avec le système.
Vous pouvez obtenir des informations sur les fichiers auxquels le processus accède par lsof :
lsof -n -p `pidof your_app`
Et vice versa, vous pouvez obtenir un pid de processus qui écrit/lit dans un fichier:
lsof -n -t file
Vous pouvez utiliser strace
pour surveiller tous les appels système d'un processus, ce qui inclut tous les accès aux fichiers.
Lors du démarrage d'un programme:
$ strace ./myserver
vous pouvez également attacher strace à un processus en cours d'exécution via son PID:
$ ps aux | grep myserver
me 1859 0.0 0.0 25288 424 ? Ss Sep02 0:00 myserver
$ strace -p 1859
watch find dir/ -mmin 1
ne fonctionnait pas pour moi, ce qui était simplement copier et diff:
cp -r dir /tmp/olddir
# initialize/whatever
diff -r dir /tmp/olddir
C'est assez gourmand en ressources, mais il montre tous les changements entre l'instantané et l'heure diff
.