Se os dois computadores estiverem na mesma LAN (segura), recomendo uma abordagem diferente netcat. Isso geralmente é muito mais rápido, pois não criptografa os dados.
root@good_host$ cd good_partition; netcat -l -p 1234 | tar xvpmf -
root@bad_host$ tar -cv -f- --exclude=/proc --exclude=/sys / | netcat good_host.ip 1234
que abre uma porta de escuta 1234 na boa máquina netcat -l -p 1234e canaliza os dados recebidos tarpara extrair (preservando mtime e permissões). O host incorreto envia os dados para esta porta, também usando tare netcat. Incluí alguns --excludeparâmetros, como /proce /syssão sistemas de arquivos virtuais e, portanto, inúteis no novo host. (especialmente o arquivo que representa sua RAM em ( /proc/kcore) adicionará uma quantidade desnecessária de dados).
No entanto, você deve (também) considerar fazer um dddespejo das partições da unidade com falha:
user@good_host$ cd good_partition; netcat -l -p 1234 > dump_of_bad_partition_1.dd
root@bad_host$ dd if=/dev/sda1 | netcat good_host.ip 1234
onde você tinha que adotar /dev/sda1o dispositivo certo. Faça isso com outras partições na unidade com falha também.
Com esse despejo, você tem certeza de que não perdeu nenhum metadado importante (como ACLs) que tarnão será capturado.
ssh user@failingsys "tar cfz - /" > oldsys.tar.gz