หากคอมพิวเตอร์ทั้งสองเครื่องอยู่ใน LAN เดียวกัน (ปลอดภัย) ฉันขอแนะนำให้ใช้วิธีการ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
เป็นระบบไฟล์เสมือนและดังนั้นจึงไม่มีประโยชน์กับโฮสต์ใหม่ (โดยเฉพาะไฟล์ที่แสดง RAM ของคุณใน ( /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