As vezes nos deparamos com uma situação onde temos milhares de arquivos em uma pasta e precisamos elimina-los. Estive em uma situação como essa quando em uma loja feita em Magento a pasta var/sessions estava lotada de arquivos, onde não estava apenas prejudicando a performance da loja, mas também começou a prejudicar o funcionamento do Linux em si e impedir que novas sessões fossem abertas.

Antes de configurar uma rotina no cron para eliminar arquivos mais velhos do que certo período eu precisei limpar ela e o comando rm não estava me ajudando.

Após algumas pesquisas descobri duas formas de lidar com esse problema. Uma utilizando o comando find e outra o comando rsync.

Com o comando find é bem mais eficiente. Após entrar na pasta em questão (e tenha muita certeza disso, pois vamos lidar com comandos que em 1 segundo podem apagar seu site inteiro), execute o seguinte comando:

[code=’bash’]find . -type f -delete[/code]

A outra forma é com o comando rsync que sincroniza uma pasta com outra, então mandando sincronizar uma pasta vazia com a pasta problemática faria com que a problemática tivesse todos os seus arquivos deletados.

[code=’bash’]rsync -r –delete ./pastaVazia/ ./pastaLotada[/code]

O rsync é muito útil também para publicação de pequenos sites, certos tipos de backup e o que mais a imaginação permitir. Vale a pena conferir e brincar um pouco com ele.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *