Se você quiser enviar um e-mail sempre que um arquivo for movido do diretório vigiado, será preciso configurar um processo diferente para monitorar isso e enviar o e-mail.
Pelas razões que você acabou de descrever, não importa onde você coloca o comando inotifywait
, já que o comando mv
não acontece ao mesmo tempo , você não pegar o evento desejado.
Mas se você assistiu o diretório de outro processo, a movimentação ocorre enquanto você assiste e você pode detectar qualquer alteração.
Com base no exemplo anterior , você pode começar com o exemplo de script a seguir.
while true
do
fileName=$(inotifywait -e moved_from /home/posto-11v/Documents/Processo/CONCLUIDO | sed -r 's/^.*MOVED_FROM(,ISDIR)*\s+(.*)$//g')
mail -s "$fileName" [email protected] < ~/Documents/personaproject/Programa/scripts/mail.txt
done
Por favor, preencha os detalhes necessários, ele funciona basicamente da mesma forma que no exemplo anterior.
Nota:
Há algumas ressalvas, por exemplo, pode perder alguns movimentos enquanto o e-mail é enviado. Depende da quantidade e frequência de movimentos.