Если оба компьютера находятся в одной (безопасной) локальной сети, я рекомендую использовать другой подход 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