หากคำสั่งยกเลิกสำเร็จข้อมูลสำรองจะถูกต้องยกเว้นความผิดพลาดของฮาร์ดแวร์ (ซึ่งอาจส่งผลกระทบต่อการตรวจสอบที่คุณอาจทำ) ในภายหลังอาจไม่ถูกต้องหากฮาร์ดแวร์มีข้อบกพร่อง แต่ฮาร์ดแวร์หน่วยเก็บข้อมูลส่วนใหญ่ตรวจพบความเสียหาย
มีหนึ่ง caveat อยู่ที่นี่: ในไปป์ไลน์เชลล์จะไม่รายงานข้อผิดพลาดจากด้านซ้ายมือ (นี่เป็นเพราะสถานการณ์กันอย่างเป็นธรรมที่ด้านขวามือไม่ต้องอ่านข้อมูลทั้งหมดเช่นsome_command | head
และตายด้านซ้ายมือเพราะผลลัพธ์ที่ได้จะไม่อยาก.) ดังนั้นที่นี่ข้อผิดพลาดจากการอ่านdd
หากว่า ถูกเพิกเฉย ใน bash ตั้งค่าpipefail
ตัวเลือกเพื่อรายงานข้อผิดพลาดจากทุกส่วนของไปป์ไลน์
นอกจากนี้ระวังที่dd bs=…
จะไม่สนใจข้อผิดพลาดบางและมักจะช้ากว่าทางเลือกdd
ฉันไม่แนะนำให้ใช้dd
เลย: ไม่มีประโยชน์เลยที่จะคัดลอกทั้งไฟล์ ขัดกับสิ่งที่คุณอาจมีบางแห่งที่อ่านdd
ไม่ได้เป็นระดับต่ำคำสั่งการเข้าถึงดิสก์ที่มีคุณสมบัติพิเศษอย่างมีความมหัศจรรย์ในไม่มีเวทมนตร์อยู่ในdd
/dev/hda
shopt -s pipefail
set -e
</dev/hda buffer -s 64k -S 10m | ssh myuser@myhost "cat > ~/image.img"
อย่างไรก็ตามหากคุณต้องการตรวจสอบการสำรองข้อมูลวิธีที่ดีที่สุดคือการตรวจสอบการเข้ารหัสลับในแต่ละด้านและเปรียบเทียบ ตัวอย่างเช่น:
ssh myuser@myhost "sha1sum image.img" &
sudo sha1sum /dev/hda
ตรวจสอบว่าเช็คซัมทั้งสองนั้นเหมือนกัน
โปรดทราบว่าสิ่งนี้จะทดสอบว่าการสำรองข้อมูลและต้นฉบับเหมือนกันในเวลาที่ตรวจสอบหรือไม่ สิ่งใดก็ตามที่คุณเปลี่ยนแปลง/dev/hda
รวมถึงการติดตั้งและยกเลิกการต่อเชื่อมระบบไฟล์แม้จะไม่ทำการเปลี่ยนแปลงใด ๆ (ซึ่งจะอัปเดตวันที่ติดตั้งครั้งล่าสุดในระบบไฟล์หลาย ๆ ระบบ) จะเปลี่ยนการตรวจสอบ หากคุณต้องการตรวจสอบความถูกต้องในภายหลังให้จดบันทึกการตรวจสอบของดิสก์ในเวลาที่ทำการสำรองข้อมูล