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
euniq
da lista de URLs para eliminar duplicatas- Talvez seja necessário fazer mais manipulações
awk
esed
para transformar URLs em nomes de arquivos no disco ...
- Talvez seja necessário fazer mais manipulações
- 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)