Якщо обидва комп’ютери знаходяться в одній (безпечній) локальній мережі, я рекомендую використовувати інший підхід 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