Если оба компьютера находятся в одной (безопасной) локальной сети, я рекомендую использовать другой подход netcat. Это обычно намного быстрее, так как не шифрует данные.
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
который открывает прослушивающий порт 1234 на хорошем компьютере netcat -l -p 1234и tarпередает входящие данные для извлечения (с сохранением mtime и разрешений). Плохой хост отправляет данные на этот порт, также используя tarи netcat. Я включил некоторые --excludeпараметры, так как /procи /sysявляюсь виртуальными файловыми системами и, следовательно, бесполезен на новом хосте. (особенно файл, представляющий вашу оперативную память в ( /proc/kcore) добавит ненужный объем данных).
Тем не менее, вы должны (также) рассмотреть возможность создания ddдампа разделов неисправного диска:
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
где вы должны были принять /dev/sda1правильное устройство. Сделайте то же самое с другими разделами на неисправном диске.
С этим дампом вы уверены, что не пропустили никаких важных метаданных (например, ACL), которые tarне будут записываться.
ssh user@failingsys "tar cfz - /" > oldsys.tar.gz