Este manual indica que modify
é acionado quando um arquivo é gravado. Você provavelmente deseja monitorar os eventos create
, delete
e move
.
Verifique se esta resposta mais elaborada a uma pergunta semelhante . Há nohup
comando mencionado lá. Outro comando útil pode ser disown
.
Acho que o loop inotifywait
pode perder um evento quando ocorre durante a execução de ls
(porque não há inotifywait
em execução neste exato momento). Existem opções -m
e -d
, elas não devem perder nada. Essa abordagem deve ser um pouco mais confiável:
inotifywait -me create,delete,move path-of-directory | while read a ; do ls > path-of-text-file; done
Agora, inotifywait -m
funciona o tempo todo e gera uma linha de texto por evento capturado. Então, cada uma dessas linhas faz com que ls
seja executado.
Outra solução será iwatch
e seu daemon. Claro que configurar um daemon requer acesso root. Leia minha resposta a outra pergunta e ajuste-a às suas necessidades.
Além disso, você pode estar interessado em LoggedFS - Monitoramento do sistema de arquivos com o FUSE .