Excluindo diretórios com muitos links físicos

2

Estou tentando limpar um diretório que contém muitos dados (mais de 1 TB), com muitos dos arquivos vinculados para economizar espaço. Em algum contexto, essa é a unidade em que mantemos nossas compilações e temos muitas mídias (vários GBs) de mídia em cada compilação, por isso, vinculamos um arquivo a um produto de compilação anterior. Eu observei que tentar excluir esses diretórios é extraordinariamente lento (~ 5 itens por segundo).

Meu palpite é que a exclusão está demorando tanto devido ao grande número de links para cada arquivo. Existe alguma coisa que eu possa fazer para acelerar este processo, ou estou preso excluindo vários milhões de itens em 5 / seg?

    
por Eric Andres 05.12.2013 / 19:00

1 resposta

0

find . -inum [inode-number] -exec rm -i {} \;

Este comando encontrará o número do inode que você pode remover, o que liberará os dados referenciados.

Eu dei o sinalizador interativo para que você possa testá-lo.

Oh, para obter o número do inode, você pode fazer ls -il , o que retornará o nome e o número do inode juntos.

Se você pudesse remover o arquivo por inode diretamente, isso seria uma melhoria, mas eu não sei como fazer isso.

    
por 06.12.2013 / 13:10