Ao executar um comando find
em um diretório muito grande, descubro que o uso de memória de find
aumenta muito mais do que eu pensava. Eu achei muito difícil procurar soluções devido ao uso sobrecarregado da palavra "find";) Este é o comando:
find /var/dir -size +500k -iname "pattern_*" -mtime +90 -type f -exec rm {} \; -print
Será que você encontra toda a lista de arquivos de um diretório na memória enquanto o processa? Parece que poderia apenas examinar uma entrada e seguir em frente. O diretório com o qual estou lidando tem ~ 2 milhões de arquivos e estou começando a me deparar com problemas de limite de memória agora.
Há alguma maneira de usar find
que reduz seu uso de memória? Quaisquer alternativas que se comportam melhor? Eu só preciso excluir arquivos neste diretório que atendam a alguns critérios e depois imprimi-los. (Minha última solução de resort é que eu apenas escrevo meu próprio programa para executar o que preciso transmitindo os resultados de ls
...)
Tags command-line bash find memory linux