AprendiNoLinux
(usa Ubuntu)
Enviado em 03/09/2011 - 18:49h
Preciso fazer um ShellScript ou mais do que 1. Deverá ficar monitorando a evolução e consumo de algumas pastas e seus sub-diretórios, exemplo:
- Tenho um conjunto de 22 diretórios. (Já foram 5, depois 10 rrs)
- No total em cada um dos diretórios eu posso ter um mínimo de 10.000 a um máximo que varia entre 40.000 a 80.000 arquivos. Nunca menos de 10.000 em média, infelizmente.
- Dentro de cada um dos diretórios, tenho de 5 a 7 sub-diretórios em 2 níveis apenas, salvo engano.
Necessidades:
=============
- Preciso avaliar a evolução de consumo. Tempo médio para fazer as varreduras em cada diretório principal.
- Armazenar as estatísticas de tempos e quantidades de cada diretório pai e seus sub-diretórios.
- As medições serão feitas de hora em hora. Ou poderão ser modificadas para um determinado diretório pai.
- Em todos os diretórios preciso saber qual a data e hora dos arquivos mais antigos.
- Em todos os diretórios preciso saber qual é a data e hora dos arquivos mais novos.
- Preciso armazenar a finalização de cada varredura somente dos totais de arquivos.
- Os dados finais irão para banco mysql.
- Relatórios gerenciais serão feitos em php.
Justificativa.
==============
- Avaliar o andamento e dentro de certos fatores de avaliação média com o tempo, determinar a distribuição dos arquivos em uma quantidade maior de pastas de raiz.
- Possibilitar distribuir os arquivos para outras máquinas.
- Avaliar se tem alguma pasta raiz ou em algum sub-diretório que esteja com quantidades anormais e alertar os administradores.
- Avaliar se não existe algum diretório que está travado com arquivos muito antigos e que ainda não foram processados.
Perguntas.
=========
Com base nas necessidades expostas, quais seriam os comandos a serem utilizados para esta tarefa ?
Com certeza ls será usado. Quais outros comandos podem ser usados para gerar estas tarefas ?
Se possível, justifique ou passe algum detalhe adicional sobre os motivos de usar um determinado comando x.
Com base nas quantidades, é melhor varrer por diretório pai ? Ou posso fazer todos juntos ?
As pastas de raiz não estão em uma mesma árvore. Os processos estão em diretórios diversos e espalhados. Futuramente vou tentar unifica-los.
Existe algum tipo de acelerador? Um tipo de armazenamento de registros de arquivos que mesmo não sendo on-line tenha as informações de pastas e arquivos com atraso de 1 a 5 minutos ? No windows existe o cached files. No Linux tem algo similar ?
Existe uma forma eficaz de fazer desfragmentação de disco no GNU/Linux ? Arquivos são gravados e apagados constantemente. Isto pode ser um dos motivos para os processos de leitura ficarem lentos. Se sim, como saber percentualmente a quantidade de desfragmentação para que um Script possa tentar fazer a rotina ?
Contando com a colaboração de todos.
Obrigado. @GA_Tux