
Eu tenho um diretório com vários ou até centenas de arquivos xml. Quero executar um script quando um novo arquivo for encontrado. o único problema PRINCIPAL é que não consigo usar inotifywait ou algo parecido. Devido à limitação dos direitos de instalação. (Eu tenho os direitos, mas não estou autorizado devido a acordos porque são mantidos pelo nosso fornecedor). Então posso usar scripts, usando as ferramentas básicas do Linux, mas não consigo instalar novas ferramentas. Uma observação extra: ela deve ser escrita para um sistema operacional bastante antigo, opensuse 10.2.
Espero que alguém possa me ajudar a apontar na direção certa.
cumprimentos,
Responder1
Aqui está um pequeno exemplo de script bash simples usando "find -newer" em um loop:
#!/bin/bash
while [ 1 ]; do
newfiles=`find /tmp -newer /tmp/.my_marker 2>/dev/null`
touch /tmp/.my_marker
if [ -n "$newfiles" ]; then
echo "found files $newfiles"
fi
sleep 5
done
Neste exemplo, o script encontra arquivos em /tmp que foram alterados desde o último loop usando o horário de modificação de /tmp/.my_marker atualizado a cada vez. Loop dorme por 5 segundos antes da próxima verificação.
A ação é apenas um eco dos arquivos encontrados; você pode colocar sua própria ação.