Copiando uma estrutura de diretórios profundamente aninhada

4

Eu tenho que copiar uma estrutura de diretório para um novo host como parte de uma migração de aplicativo. A estrutura do diretório é a seguinte:

{10 - ff} / {00 - ff} / {00 - ff} (não inclusivo) / uniquefilename

Portanto, existem milhões de arquivos. O terceiro nível da árvore não está totalmente preenchido e nem todo diretório de terceiro nível possui um arquivo.

o du leva um longo tempo para ser concluído até mesmo para uma pasta de segundo nível. Usando tar | nc levaria 10 dias. Eu posso ter uma interrupção de 1 dia, mas não 10.

    
por Quijybo 27.06.2012 / 03:14

3 respostas

6

Use rsync para isso.

  1. Antes de você precisar usar o novo servidor, execute rsync de todo o diretório de um host para o outro. Pelo som, isso levará muito tempo para ser concluído.
  2. Após a conclusão, execute rsync novamente para capturar todos os arquivos modificados durante o primeiro rsync.
  3. Continue a executar periodicamente rsync até que você queira realizar a transição. Isso é apenas para manter baixo o volume de dados que precisam ser transferidos.
  4. Interrompa uma interrupção e interrompa todas as gravações no servidor antigo.
  5. Executar uma última rsync
  6. Inicie os serviços no novo servidor
por 27.06.2012 / 03:30
2

Se esta estrutura de diretórios é a maior parte dos dados em seu dispositivo / partição, ignore a estrutura de diretórios, se é isso que está causando o problema.

Em vez disso, desmonte o dispositivo (ou remonte somente leitura) e use dd(1) com o netcat para copiar os blocos do sistema de arquivos para uma partição do mesmo tamanho no novo host.

Se houver dados externos fora da hierarquia desejada, exclua-os após a migração.

Você também pode considerar puxar a unidade e conectá-la ao novo host, se a rede entre os hosts for um gargalo.

    
por 27.06.2012 / 04:24
1

Para uma cópia de um tiro, e se você pode ter fonte e alvo montados no mesmo sistema, você pode fazer

find [source top dir] | cpio -dump [target mountpoint]

Ele copiará e preservará os atributos do arquivo. Deve haver parâmetro de compressão na ferramenta cpio também.

    
por 27.06.2012 / 11:10