maneira mais rápida de espelhar um diretório contendo milhões de arquivos pequenos

2

Eu preciso copiar uma pasta montada em 700G ISCSI para uma pasta no disco rígido local, mantendo as permissões e a propriedade existentes. Os dados da pasta consistem em cerca de um milhão de arquivos, na maioria pequenos, e o novo diretório precisa corresponder exatamente às permissões e à propriedade do original.

Usando %código% obtém todas as permissões corretas, mas já passou mais de uma hora "varrendo os arquivos" e ainda nem começou a lidar. Os dados são compartilhamentos de disco openvz e houve problemas de permissão no passado quando foram copiados usando "cp".

Existe uma maneira mais rápida de copiar um grande número de arquivos pequenos, preservando exatamente as permissões e a propriedade? Talvez alguns sinalizadores de rsync que podem evitar a varredura inicial? Idealmente, uma ferramenta que pode pegar de onde você parou, se o processo for interrompido.

    
por John P 15.07.2011 / 02:17

4 respostas

3

Você já pensou em usar o tar? Algo ao longo das linhas de tar -cpOC <sourcedir> . | tar -xpC <targetdir> -f - pode fazer você.

    
por 15.07.2011 / 02:56
1

Qual versão o rsync você está usando? A versão 3 lida com arquivos pequenos um pouco melhor. Você também pode usar -P para ter uma noção de quanto tempo você está.

Quanto à recuperação de parciais .. hrm. Você poderia entrar no seu diretório raiz e executar algo como ...

for i in * ; do rsync -azP $i /newfolder ; done

pule todos os subdiretórios que você já copiou

    
por 15.07.2011 / 02:42
1

Nesta situação, você provavelmente deve tentar duplicar o volume em vez de tentar duplicar os arquivos individuais.

O seu alvo iSCSI tem uma maneira de clonar o volume?

    
por 15.07.2011 / 04:10
0

cp -aux (como root) deve fazer o truque.

    
por 15.07.2011 / 02:42