Como obter lista de arquivos tocados entre 2 pontos de tempo? [duplicado]

1

Eu preciso obter uma lista completa de arquivos modificados e, se possível, arquivos acessados também, por um script complexo, bem como todos os arquivos acessados ao mesmo tempo do script sendo executado por qualquer outro processo.

Portanto, quero INICIAR o log de todo o acesso a arquivos de E / S antes de o aplicativo ser iniciado e, em seguida, PARAR o log quando ele terminar. (ou inspecionar log completo entre 2 carimbos de tempo?)

Como posso fazer isso?

    
por sharp12345 05.01.2017 / 13:50

1 resposta

4

Você pode usar um arquivo de marcador, tocá-lo antes de executar a operação de sua principal preocupação e usar o comando find com as opções -newer ou -anewer para localizar arquivos que foram modificados ou acessar depois de tocou o arquivo do marcador.

touch /tmp/marker
perform-some-operation
find /path/to/dir -newer /tmp/marker

Se o diretório que você deseja monitorar não for muito grande, uma alternativa interessante poderia ser convertê-lo em um repositório Git, e então use os comandos do Git para ver o que mudou.

cd /path/to/dir
git init .
git add .
git commit -m init
perform-some-operation
git status
git diff

Depois de terminar, você pode simplesmente excluir o diretório .git .

    
por 05.01.2017 / 13:53