Detectar atualização do arquivo a partir do horário da modificação

2

Existe uma maneira de ver com que frequência um arquivo está sendo atualizado?
Quer dizer, eu preciso ver se o tempo de modificação de um arquivo é atualizado de forma dinâmica (o mesmo que tail mostra se o arquivo é atualizado de forma dinâmica). Eu não posso usar por exemplo tail , pois o conteúdo do arquivo não é anexado, mas sobrescrito e pode ser sobrescrito com o mesmo valor, portanto, não posso fazer uma concusão.

    
por Jim 22.02.2013 / 09:59

3 respostas

3

Que tal isso:

watch -n 1 'stat /path/to/the/file'
    
por 22.02.2013 / 10:02
3

Você pode usar o inotifywait para fazer isso com muito mais eficiência, por exemplo

inotifywait -e modify -m  --timefmt "%F %T" --format "%T %e" /tmp/fred/1

Irá assistir ao arquivo / tmp / fred / 1 para modificar os eventos, para que o updading produza resultados como

2013-02-22 09:30:26 MODIFY
2013-02-22 09:30:26 MODIFY

Você pode registrar vários eventos, alterar o formato da hora (o timefmt leva a saída strftime ) para um arquivo e daemonize por exemplo

inotifywait -o /tmp/watch.out -d -e modify -m  --timefmt "%F %T" --format "%T %e" /tmp/fred/1

agora você pode simplesmente seguir /tmp/watch.out.

    
por 22.02.2013 / 10:31
1

Você também pode usar o daemon 'audit' /etc/audit/auditd.conf é o arquivo de configuração para o daemon de auditoria /etc/audit/audit.rules contém regras de auditoria

    
por 22.02.2013 / 11:20