Nếu cả hai máy tính nằm trên cùng một mạng LAN (an toàn), tôi khuyên bạn nên sử dụng một cách tiếp cận khác netcat
. Điều này thường nhanh hơn nhiều vì nó không mã hóa dữ liệu.
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
mở cổng nghe 1234 trên máy tốt netcat -l -p 1234
và chuyển dữ liệu đến tar
để trích xuất (bảo toàn thời gian và quyền). Máy chủ xấu gửi dữ liệu đến cổng này, cũng sử dụng tar
và netcat
. Tôi đã bao gồm một --exclude
số tham số, như /proc
và /sys
là các hệ thống tệp ảo và do đó vô dụng trên máy chủ mới. (đặc biệt là tệp đại diện cho RAM của bạn trong ( /proc/kcore
) sẽ thêm một lượng dữ liệu không cần thiết).
Tuy nhiên, bạn cũng nên (cũng) xem xét để tạo một dd
bãi chứa các phân vùng của ổ đĩa bị lỗi:
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
nơi bạn phải chấp nhận /dev/sda1
thiết bị phù hợp. Làm điều đó với các phân vùng khác trên ổ đĩa bị lỗi, quá.
Với kết xuất đó, bạn chắc chắn rằng bạn đã không bỏ lỡ bất kỳ siêu dữ liệu quan trọng nào (như ACL) tar
sẽ không nắm bắt được.
ssh user@failingsys "tar cfz - /" > oldsys.tar.gz