O que significa a mensagem “muitos links” ao usar o CP no Linux?

3

Estou copiando 25.000 pastas contendo centenas de arquivos, de um disco rígido para outro, no mesmo servidor Linux. A pasta de destino já contém 25.000 pastas diferentes cheias de seus próprios arquivos. Eu estou usando o seguinte comando:

cp -v -r /folder_to_copy_from/* /folder_to_copy_to/

O processo completou cerca de 20%, e de repente, toda vez que ele tentou copiar uma pasta, ele passou a mensagem "muitos links" e pulou todos os arquivos daquela pasta, passando para a próxima pasta. Essa pasta nunca foi criada. CP imprimiu esta mensagem para todas as pastas restantes.

Eu estimo que havia ~ 30.000 pastas na pasta_para_cópia_para quando ele parou de funcionar. Eu estou usando uma unidade formatada EXT3 com muito espaço para armazenar os arquivos no Linux CentOS.

Se houver um número máximo de subdiretórios permitidos em um diretório, existe uma maneira de aumentá-lo? Devo investigar diferentes padrões de formatação? Alguma outra opinião sobre o que está acontecendo?

    
por T. Brian Jones 16.02.2012 / 20:56

1 resposta

6

Existe um limite de cerca de 32.000 links por inode. (cheira como um curto não assinado) Cada pasta faz um link para sua pasta pai, então você tentaria fazer uns 50k links para um único inode, que não ia voar.

Talvez você deva reconsiderar sua estrutura de diretórios.

    
por 16.02.2012 / 21:02

Tags