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 1234
e canaliza os dados recebidos tar
para extrair (preservando mtime e permissões). O host incorreto envia os dados para esta porta, também usando tar
e netcat
. Incluí alguns --exclude
parâmetros, como /proc
e /sys
sã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 dd
despejo 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/sda1
o 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 tar
não será capturado.
ssh user@failingsys "tar cfz - /" > oldsys.tar.gz