Como identificar e remover arquivos / diretórios não utilizados de um servidor web apache

4

Novo cliente. Servidor antigo. Arquivos não utilizados & Diretórios são abundantes. 5 diretórios centrais específicos (anexados a diferentes domínios). 10-20 diretórios externos possíveis com arquivos no mesmo nível dos diretórios centrais.

Criando algo para ser executado em cada diretório principal e fazendo o seguinte:

Um script que reduz apenas alguns meses de arquivos de log brutos para apenas o URI, reúne uma listagem de diretórios, percorre a lista de diretórios e lista tudo sem uma aparência correspondente no arquivo de log condensado.

Algo assim já existe? Melhor método para atingir o objetivo final? Língua / ferramentas sugeridas para construir?

Honestamente, estou procurando por onde começar, se isso for feito corretamente.

    
por Daniel Fris 29.12.2011 / 20:47

1 resposta

2

Honestly, I'm looking for where to begin on this if it were done right.

Com um bom backup e um novo servidor, construído apenas com o que você precisa.

O perigo de remover coisas com base no acesso é que você perderá o material de cauda longa (aquele arquivo supercrítico acessado duas vezes por ano pelo seu fornecedor no Taiti, sem o qual eles não podem enviar seus widgets brilhantes para você e toda a empresa vai de barriga para cima). É aí que o backup entra (para que você possa recuperar o arquivo de widgets brilhantes).

O perigo de tentar "limpar" um servidor antigo cheio de lixo não é saber o que é crunch e o que é importante.
Como você está nos fazendo essa pergunta, em vez de empurrar seu punho para dentro do servidor e arrancar suas entranhas digitais apodrecidas, podemos supor que você não sabe ao certo o que é / não é uma merda. Mesmo a melhor ferramenta terá fuzz de um lado ou de outro: ou você deixará o cruft porque você não sabe se você precisa dele, ou você irá remover algo que você precisa e tem que ir para esses backups.

Se você ainda quiser escrever o script que descreveu, poderá fazê-lo com um script de shell (relativamente) simples:

  • cat os arquivos de log juntos
  • use awk para pegar os URLs
  • sort e uniq da lista de URLs para eliminar duplicatas
    • Talvez seja necessário fazer mais manipulações awk e sed para transformar URLs em nomes de arquivos no disco ...
  • Pegue sua lista de arquivos acessados conhecidos, revise-os manualmente & adicione qualquer coisa que seus scripts possam ter perdido
  • tar dos arquivos acessados conhecidos e os colocou em algum lugar seguro.
  • Mova o diretório antigo (mantenha-o seguro como backup) & descompacte seus arquivos acessados conhecidos.

(A implementação é deixada como um exercício para o leitor, principalmente porque seu formato de log de acesso pode ser diferente do meu, o que afeta a expressão awk que você precisa usar para transformar URLs em arquivos no sistema de arquivos)

    
por 29.12.2011 / 21:41