Não é um dupe, mas na resposta aceita em esta questão , é explicado como executar um script (ou qualquer comando) sempre que um arquivo é adicionado ou criado em um diretório arbitrário. No seu caso, o único acionador de eventos necessário é:
-e create
Além disso, como você não está usando o caminho para o arquivo como um argumento, é possível ignorar a --format
-section.
O script para ser executado em segundo plano é simplesmente:
#!/bin/bash
DIR="/var/www/lager-scanner/filer/Nav/FromNav"
inotifywait -m -r -e create "$DIR" | while read f
do
# you may want to release the monkey after the test :)
echo monkey
# <whatever_command_or_script_you_liketorun>
done
Explicação
Como explicado na pergunta vinculada:
-e create
irá notar novos arquivos criados dentro do diretório.
As opções:
-m -r
são para fazer o comando rodar indefinidamente ("monitor") e recursivamente no diretório.
De acordo com this , usando pyinotify
não é a melhor opção.
EDITAR
Em um comentário que você mencionou, não funciona, e você mencionou que a pasta de destino é remota. Embora não seja exatamente o mesmo, o problema parece relacionado a isso :
a alteração não é visível para o núcleo; isso acontece inteiramente remotamente.
Um (testado) trabalho é montar a pasta remota localmente.