gzip - การเปลี่ยนเส้นทางหรือท่อ?


10

ฉันจะสำรองดิสก์ขนาดใหญ่ (750GB) ไปยังดิสก์ USB ภายนอกโดยใช้ dd
ฉันควรจะใช้การเปลี่ยนเส้นทางหรือท่อ? อันไหนมีประสิทธิภาพมากกว่ากัน? หรือมีความแตกต่าง?

นอกจากนี้ขนาดบล็อกที่ดีที่สุดคืออะไร? USB น่าจะเป็นคอขวดที่นี่

dd if=/dev/sda bs=1M | gzip -c > /mnt/sdb1/backups/disk.img.gz

gzip -dc /mnt/sdb1/backups/disk.img.gz | dd of=/dev/sda bs=1M

VS

dd if=/dev/sda bs=1M | gzip -c | dd of=/mnt/sdb1/backups/disk.img.gz

dd if=/mnt/sdb1/backups/disk.img.gz | gzip -dc | dd of=/dev/sda bs=1M

ขอบคุณ


2
ฉันจะพยายามสำรองข้อมูลระบบไฟล์ไม่ใช่อิมเมจดิสก์ดิบ และเพื่อปรับพารามิเตอร์คุณจะต้องเปรียบเทียบ

ddเป็นคร่ำครึ (เครื่องมืออื่น ๆ ที่ทำไปด้วยbs=และcount=ชอบddrescue) และในกรณีของคุณก็ไม่มีจุดหมาย เพียงแค่ท่อมันลงไปและgzip -c </dev/sda >disk.img.gz gzip -cd disk.img.gz >/dev/sda

หรือทำด้วย rsync เพียงแค่สร้างคำสั่งด้วยพารามิเตอร์และมันจะทำให้คุณทุกอย่างในวิธีที่มีประสิทธิภาพที่สุดที่คิด
vakufo

ในคำสั่งที่สองของรายการที่สองdd if=.../disk.img.gz |ส่วนที่ควรทำคืออะไร เท่าที่ฉันเข้าใจgzip -dc(= zcat) ไม่สนใจstdinเมื่อมีข้อโต้แย้งไฟล์
sr_

ฉันไม่คิดว่า Linux สามารถสร้างการติดตั้ง Windows ได้อย่างน่าเชื่อถือเพียงแค่คัดลอกโครงสร้างไฟล์ ddดังนั้นความจำเป็นในการคัดลอกบิตที่ชาญฉลาดเช่น รูปลักษณ์ที่แข็งแกร่งมากขึ้นแล้วธรรมดาddrescue ddคุณจะใช้ GNU ddrescueหรือdd_rescue? Live CD ที่ดีในการดาวน์โหลดคืออะไร?
mcu

คำตอบ:


3

การวางท่อเกี่ยวข้องกับอีกกระบวนการหนึ่งและอีกหนึ่งสำเนาผู้ใช้ที่ดินดังนั้นจึงควรมีประสิทธิภาพมากขึ้นในการใช้การเปลี่ยนเส้นทาง

แต่ฉันเดาว่าในปัจจุบันระบบฮาร์ดแวร์และซอฟต์แวร์แคชไม่ควรสร้างความแตกต่างอย่างแท้จริง บางทีคุณสามารถใช้ผลลัพธ์ที่ดีกว่าbs=4kหรือbs=64kเพราะมันเป็นข้อ จำกัด ของท่อภายใต้ลินุกซ์ ดูคำถามนี้สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์bs ที่แตกต่างกัน


9

คุณไม่จำเป็นต้องใช้ddหรือวางท่อเลย

</dev/sda gzip >/mnt/sdb1/backups/disk.img.gz
</mnt/sdb1/backups/disk.img.gz gunzip >/dev/sda

ฉันเคยสร้างเกณฑ์มาตรฐานและพบว่าการใช้ddช้ากว่าcatการทำสำเนาแบบตรงระหว่างดิสก์ที่แตกต่างกัน ฉันคาดว่าท่อจะทำให้การแก้ปัญหาใด ๆ ที่เกี่ยวข้องddได้ช้าลงในกรณีนี้


นั่นคือตัวอย่างของการใช้การเปลี่ยนเส้นทาง
psusi

@psusi Gah! ฉันตั้งใจจะเขียน“ dd หรือ piping” ขอบคุณ
Gilles 'หยุดความชั่วร้าย'

มีวิธีรวมกันpvในคำสั่งเหล่านี้หรือไม่?
Yaron

2
@Yaron แน่ใจว่า: แทนที่gzipโดยpv | gzipและgzip -dโดยgzip -d | gv
กิลส์ 'ทีเราหยุดการชั่วร้าย'

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.