shell-script-pt
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]