[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Arquivos no Servidor
From: |
Cristiano Ferrari |
Subject: |
Re: Arquivos no Servidor |
Date: |
Tue, 24 Jun 2008 13:06:00 -0000 |
User-agent: |
eGroups-EW/0.82 |
--- Em address@hidden, Eduardo Miranda - EFSM
Solutions <eduardo@...> escreveu
>
> Bom dia a todos do Grupo;
>
> Na empresa onde trabalho, existe aproximadamente 550 Gigas de
informação.
>
> Seria muito complexo montar um script para fazer uma listagem dos
> arquivos com repetidos?
> Como faria essa busca?
>
Eduardo, bom dia.
Para encontrar arquivos repetidos, mesmo com o nome diferente, uma boa
opção seria usar o hash md5sum.
Você poderia criar um script que calculasse o hash de todos os
arquivos do HD (!!!) e os armazenasse em uma tabela de banco de dados,
mysql por exemplo.
Depois era só criar uma query que listasse todos os hash com mais de
um arquivo vinculado a ele.
Agora...
Se isso é tecnicamente viável em razão de quanto tempo vai levar para
executar e quanto de processamento isso vai consumir de sua máquina,
"são outros 500", como diria minha santa avozinha...
Mas nada impede que você crie um script que execute a tarefa apenas em
parte do seu HD e à partir disso estime quanto tempo isso vai demorar,
para analisar a viabilidade da idéia. Claro que certos diretórios
podem ser omitidos nesta tarefa. Por exemplo, para que rodar este
script em /bin /sbin /dev /lib /usr ou mesmo no /var e /etc?
Uma vez feito o inventário inicial (e gravado no banco de dados) você
pode criar uma segunda versão script, para rodar diaramente no cron,
que faz o mesmo processo de cálculo e armazenagem do hash mas apenas
para arquivos criados/alterados (ctime) naquele dia. Dá para usar o
find para encontrar estes arquivos e já disparar o
cálculo/armazenamento do resultado apenas para os arquivo localizados.
Algo como:
find ./ -ctime 0 -exec gerahash.sh {} \;
Executaria o script gerahash.sh para cada arquivo modificado ou criado
nas últimas 24 horas dentro do diretório corrente (./), passando o
path do arquivo encontrado como parâmetro do script.
Aí seria apenas você criar o script para calcular e armazenar o hash +
path do arquivo e rodar um segundo script que executasse a query no
banco, lhe enviando os resultados das duplicatas por e-mail, por exemplo.