hudyfx
(usa Outra)
Enviado em 20/12/2011 - 10:36h
então cara, pelo o que eu intendi vc quer monitorar um diretório né?
da pra fazer isso de um bocado de jeito diferente...
um jeito simples é assim:
primeiro vc faz uma lista do que tem dentro do diretorio.
$ ls > lista.txt
depois vc far um script de verificação com base na lista assim:
#!/bin/bash
for ((;;));do
while read linha;do
[ -e $linha ] && echo "arquivo $linha ok" || echo "arquivo $linha deletado"
done < lista.txt
sleep 1
done
certo... essa foi só uma ideia... agora se vc quer saber se o aquivo foi modificado, recomendo o uso do md5sum
primeiro eu tiraria a chave de todos os arquivos assim:
md5sum * > lista.md5
o arquivo terá esse formato:
fff1b02b7467d7b282ea5d9bff8565f4 enderecos.txt
d73826a945f40046ece4a099d2bb9f7b erro.sh
16fae94e57fafd232c6e095b6ff472a7 erro.txt
feba8731ab8627f986099b464a3ebf49 hosts.list
e depois eu faria um script que checaria os arquivos assim:
#!/bin/bash
while true; do
md5sum -c lista.md5 ; sleep 5 ; clear
done
a saida do comando é algo parecido com isso
enderecos.txt: SUCESSO
erro.sh: SUCESSO
erro.txt: FALHOU
hosts.list: SUCESSO
se tiver algum arquivo que falho no teste significa que ele foi modificado.
e por fim... vc verifica se alguém add algum arquivo novo no diretório dessa forma:
#!/bin/bash
for i in `ls`;do
cat lista.txt | grep -x $i
[ $? -ne 0 ] || echo "$i - aquivo novo"
done
e por ao vai...
bom é isso, como te disse essas foram só ideias, com base nisso vc inventa oque for melhor pra vc... falowww