我将使用 dd 将一个大的 (750GB) 磁盘备份到外部 USB 磁盘。
我应该使用重定向还是管道?哪个更有效率?或者有什么区别吗?
另外,最佳的块大小是多少? 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
与
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
谢谢。
答案1
dd
您根本不需要使用或管道。
</dev/sda gzip >/mnt/sdb1/backups/disk.img.gz
</mnt/sdb1/backups/disk.img.gz gunzip >/dev/sda
我曾经树立了标杆并发现使用dd
速度比cat
不同磁盘之间的直接复制慢。在这种情况下,我希望管道能够做出任何涉及dd
甚至更慢的解决方案。
答案2
答案3
更简单:
gzip -c /dev/sda > disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz > /dev/sda