Dê uma olhada no inotify, que é exatamente o que é construído para isso. A IBM tem uma introdução meio decente (embora um pouco desatualizada) no link
Eu preciso de algum script que irá registrar (apenas a saída para o console ou arquivo) a cada acesso a algum disco ou diretório (ou funciona para mim). Eu também gostaria de saber exatamente o que (qual subdiretório ou arquivo) foi acessado. Meu sistema é Ubuntu Linux. É possível e como posso fazer isso?
Dê uma olhada no inotify, que é exatamente o que é construído para isso. A IBM tem uma introdução meio decente (embora um pouco desatualizada) no link
Você pode usar o incron , que é uma ferramenta do tipo cron para o sistema de arquivos eventos de inotify.
Você pode definir uma ação a ser executada toda vez que ocorrer o evento IN_ACCESS.
A configuração é tão fácil quanto o cron:
<path> <mask> <command>
Onde:
<path>
é um caminho do sistema de arquivos (cada espaço em branco deve ser precedido por uma barra invertida) <mask>
é um simbólico (veja inotify.h; use vírgulas para separar símbolos) ou máscara numérica para eventos <command>
é um aplicativo ou script para ser executado nos eventos Se você tiver certeza de que deseja ver essa saída grande, use o auditd. Mas isso pode causar loop infinito se você quiser imprimi-lo em um arquivo, já que qualquer acesso a um arquivo significaria imprimir isso em seu arquivo de log. A impressão no arquivo de log também é um acesso a um arquivo, por isso ele também deve ser impresso no arquivo de log. Portanto, tenha cuidado.
Mesmo que não haja loop infinito, a quantidade de dados que serão impressos deve ser muito grande. Se você alterar a sua pergunta para o que você deseja alcançar com este monitoramento, as pessoas podem sugerir uma maneira melhor e, em seguida, registrar o acesso a todos os arquivos.
Tags hard-drive monitoring logging