Assumi as operações de tecnologia em uma pequena empresa. No entanto, o líder anterior tomou a decisão errada de armazenar centenas de GB de imagens, embora nosso site use apenas cerca de 5 GB dessas imagens. Basicamente, não existem scripts de limpeza. Agora estou encarregado de otimizar essa bagunça e não sei por onde começar. Existe alguma maneira de obter uma lista da última vez que cada arquivo de imagem foi acessado pela web, para que eu possa fazer algo como "SE NÃO ABERTO NOS ÚLTIMOS 365 DIAS, MOVER PARA A UNIDADE DE BACKUP E REMOVER DO SERVIDOR PRIMÁRIO"?
Responder1
Você se esqueceu de usar o ambiente em que está (sistema operacional, servidor web etc.), então presumo o Linux.
Se você não montou seu diretório de dados no servidor com noatime
, você pode usar find
para procurar arquivos não acessados por 365 dias:
find /var/www/images -iname "*.jpg" -atime +365 -type f
Se você usou noatime
, isso não será possível (e se você usou relatime
, atime
pode ter 24h de folga).
No entanto, esta não é uma boa abordagem, pois você pode encontrar links inativos em seus arquivos HTML e alguém precisará deste recurso daqui a 5 dias...
Melhor abordagem: analise sua árvore da web, liste todos os arquivos referenciados nela (certifique-se de desligar a indexação automática dos servidores da web...) e arquive todo o resto. Dessa forma, você pode ter certeza de que tudo listado em seus arquivos HTML ainda estará disponível.
Cuidado, há uma chance de você ter ilhas isoladas de arquivos HTML não vinculados em sua árvore normal que as pessoas acessam via link direto - pense nisso ao construir sua lista. Claro, o mesmo pode ser verdade para arquivos de imagem, mas você só pode capturá-los com a análise do arquivo de log ou com o find
método.
Responder2
Dependendo de até onde vão seus logs da web, você pode analisar todas as entradas de arquivos do diretório em questão e excluir tudo o que não for encontrado.