Gostaria de ver o que está acontecendo nas minhas pastas do servidor de aplicativos, ou seja, quais arquivos foram alterados pelo processo x ou quais *.war
foram alterados (substituídos / criados) nos últimos x minutos.
Existe uma ferramenta no Linux para ajudar com isso?
shell
files
process
monitoring
Martin V.
fonte
fonte
Respostas:
Dependendo de suas necessidades exatas, convém procurar soluções inotify e / ou FAM / GAMIN .
fonte
Strace (conforme descrito acima) é uma maneira de verificar as ações de um software em execução especificado.
Alguns comandos como
watch find dir/ -mmin 1
também podem ajudar a verificar as alterações do último minuto em algum diretório.Dependendo do que exatamente você está procurando, o inotify-tools é provavelmente outra ferramenta comercial aqui.
Por exemplo,
inotifywait -mr dir/
monitora as alterações no diretório especificado e fornece instantaneamente feedback de qualquer aplicativo que tente abrir / ler / gravar / fechar um arquivo. No entanto, o inotify não fornece feedback sobre qual aplicativo ou processo está acessando o arquivo - isso é algo que o strace faz.Por favor, saiba que o monitoramento no nível do sistema geralmente é de uso limitado para software java em execução em algum ambiente de contêiner de aplicativo, pois você só vê o contêiner (por exemplo, Tomcat), mas não o aplicativo real (por exemplo, war) interagindo com o sistema.
fonte
Você pode obter informações sobre quais arquivos acessados pelo processo por lsof :
E vice-versa, você pode se familiarizar com o processo que escreve / lê em algum arquivo:
fonte
Você pode usar
strace
para monitorar todas as chamadas de sistema de um processo, que inclui todo o acesso a arquivos.Ao iniciar um programa:
você também pode anexar strace a um processo em execução via seu PID:
fonte
watch find dir/ -mmin 1
não funcionou para mim, o que fez foi simplesmente copiar e diferenciar:É bastante intensivo em recursos, mas mostra todas as alterações entre o instantâneo e o
diff
tempo.fonte