Vou fazer o backup de um disco grande (750 GB) em um disco USB externo usando o dd.
Devo usar redirecionamento ou canalização? Qual é mais eficiente? Ou existe alguma diferença?
Além disso, qual é o melhor tamanho de bloco? É provável que o USB seja o gargalo aqui.
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
Obrigado.
dd
é arcaico (qualquer outra ferramenta felizmente acaba combs=
ecount=
, comoddrescue
), e no seu caso também é praticamente inútil. Apenas coloque-o nogzip -c </dev/sda >disk.img.gz
&gzip -cd disk.img.gz >/dev/sda
.dd if=.../disk.img.gz |
parte deve fazer? Tanto quanto eu entendo,gzip -dc
(=zcat
) não se importa com issostdin
quando há um argumento de arquivo.dd
.ddrescue
parece mais robusto que simplesdd
. Você usaria o GNUddrescue
oudd_rescue
? O que é um bom Live CD para baixar?Respostas:
A tubulação envolve mais um processo e mais uma cópia da terra do usuário; portanto, deve ser mais eficiente usar o redirecionamento.
Mas acho que hoje em dia o sistema de cache de hardware e software não deve fazer nenhuma diferença real. Talvez você possa obter melhores resultados usando
bs=4k
oubs=64k
, já que é o limite do pipe no linux. Veja esta pergunta para obter mais detalhes sobre diferentes parâmetros bs .fonte
Você não precisa usar
dd
nem encanar.Certa vez, fiz um benchmark e achei
dd
mais lento do quecat
uma cópia direta entre diferentes discos. Eu esperaria que o tubo fizesse qualquer solução que envolvessedd
ainda mais devagar neste caso.fonte
pv
esses comandos?gzip
porpv | gzip
egzip -d
porgzip -d | gv
Mais simples:
fonte