[FUG-BR] OT - Monitorar alterações de arquivo

NgD Vulto hugo.ngd em gmail.com
Sexta Junho 9 21:48:18 BRT 2006


2006/6/10, Pedro Henrique Morsch Mazzoni <phmazzoni em gmail.com>:
>
> Olá pessoal,
>
> Estou procurando um modo de rodar um script sempre que um arquivo
> determinado seja alterado.
> Preciso de algo que não ocupe CPU ( loops :) ). Também não pode ser o FAM.
> Alguma dica?
>
> Grato,
> Pedro MAzzoni
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>

Um arquivo é alterado quando muda de tamanho, seja para mais ou para menos,
as chances de um arquivo ser alterado e manter o exato mesmo tamanho em KB é
a mesma de um trovão acertar o mesmo lugar duas vezes, apesar de não ser
totalmente impossível é muito improvável.

Você pode tentar fazer um script que receba o tamanho do arquivo de tempo em
tempo (isso não come tanto processamento, é quase nada, se você usar as
ferramentas como o sleep por exemplo) e se o valor for diferente do valor
antigo, executar o que você quer, então ele deve guardar o valor novo do
tamanho do arquivo, e verificar de tempo em tempo...e...se for diferente do
valor guardado fazer o mesmo processo, como programador posso te dizer que é
possível fazer isso usando C, entretanto não terei tempo para escrever isso
agora, recomendo que absorva minha ideia e transforme em algo de útil no
meio de suas habilidades.

Como dica deixo aqui que fazendo du -k arquivo retornará o tamanho dele e
você poderá arrumar um jeito de filtrar e passar esse valor para seu
script/programa com segundas intenções.

Qualquer dúvida relacionada ao que eu falei me mantenha informado, desde que
não me coloque pra codar, é claro hehe :)

Ats,

Hugo Pessoa/NgD.

-- 
[Freebsd User Group]

Fug-Br/BsD-Ce proud active member.

There will be a day machines will reign, and only the ones able to
understand them will survive.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://www.fug.com.br/historico/html/freebsd/attachments/20060610/7daf83de/attachment.html 


Mais detalhes sobre a lista de discussão freebsd