Minha sugestão alternativa para copiar o sistema de arquivos é a seguinte. Tenha em mente que o mais próximo que cheguei deste problema é usar find + xargs + rm para limpar um maildir que ficou louco com lixo inútil, então você deve ver onde isso vai chegar depois de uma hora.
cd root_of_source ; find . -print0 | tar -c --null -T - -f - | tar -sxf - -C root_of_target
A função desta construção é
- Recupere a lista de arquivos em sua ordem crua
- É por isso que eu uso o find ao invés do padrão do tar ... Eu não sei se o padrão do tar é ruim, só sei que o find é bom,
- Transmita essa lista para o tar null terminado (para que todos os caracteres especiais sejam manipulados corretamente).
- Pegue a saída do formato tar e descompacte o resultado (sem reclassificar a entrada (-s)) no diretório de destino.
Independentemente do método usado:
- Se esses dados forem iniciados e terminados nos mesmos discos físicos, seu desempenho naturalmente irá sugar muito em comparação às operações normais (muitas buscas entre a leitura da origem e a gravação no destino).
- Se você tem alguma CPU disponível, uma pequena compactação não deve prejudicar, e pode ajudar Apenas adicione um estágio 'gzip -c -1' entre os comandos tar e um -z para o segundo tar.