หากคอมพิวเตอร์ทั้งสองเครื่องอยู่ใน 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