gzip - перенаправление или конвейер?

10

Я буду выполнять резервное копирование большого (750 ГБ) диска на внешний 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

против

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, так как это предел трубы в Linux. Смотрите этот вопрос для более подробной информации о различных параметрах 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 Гах! Я хотел написать «дд или трубопровод». Спасибо.
Жиль "ТАК - перестань быть злым"
Есть ли способ объединить pvв этих командах?
Ярон
2
@Yaron Sure: заменить gzipна pv | gzipи gzip -dпоgzip -d | gv
Жиля SO- перестать быть злым »
0

Simpler:

gzip -c /dev/sda > disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz > /dev/sda 
Майк Редроб
источник