Voy a hacer una copia de seguridad de un disco grande (750 GB) en un disco USB externo usando dd.
¿Debo usar redirección o tuberías? ¿Cuál es más eficiente? ¿O hay alguna diferencia?
Además, ¿cuál es el mejor tamaño de bloque? Es probable que el USB sea el cuello de botella aquí.
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
Gracias.
dd
es arcaico (afortunadamente cualquier otra herramienta eliminabs=
ycount=
, comoddrescue
), y en su caso también es bastante inútil. Solo conéctelo agzip -c </dev/sda >disk.img.gz
&gzip -cd disk.img.gz >/dev/sda
.dd if=.../disk.img.gz |
supone que debe hacer la parte? Por lo que yo entiendo,gzip -dc
(=zcat
) no le importastdin
cuando hay un argumento de archivo.dd
.ddrescue
parece más robusto que simpledd
. ¿Usarías GNUddrescue
odd_rescue
? ¿Qué es un buen Live CD para descargar?Respuestas:
La canalización implica un proceso más y una copia de aterrizaje de usuario más, por lo que debería ser más eficiente usar la redirección.
Pero supongo que en el sistema de almacenamiento en caché de hardware y software de hoy en día, no debería haber ninguna diferencia real. Tal vez pueda obtener mejores resultados usando
bs=4k
obs=64k
, ya que es el límite de la tubería en Linux. Consulte esta pregunta para obtener más detalles sobre los diferentes parámetros de bs .fuente
No necesita usar
dd
ni tuberías en absoluto.Una vez hice un punto de referencia y encontré el uso
dd
más lento quecat
para una copia directa entre diferentes discos. Esperaría que la tubería haga cualquier solución que impliquedd
aún más lenta en este caso.fuente
pv
estos comandos?gzip
porpv | gzip
ygzip -d
porgzip -d | gv
Más simple:
fuente