gzip: ¿redirección o tubería?

10

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.

mcu
fuente
2
Intentaría hacer una copia de seguridad de los sistemas de archivos, no de las imágenes de disco sin formato. Y para ajustar los parámetros, tendrá que comparar.
ddes arcaico (afortunadamente cualquier otra herramienta elimina bs=y count=, como ddrescue), y en su caso también es bastante inútil. Solo conéctelo a gzip -c </dev/sda >disk.img.gz& gzip -cd disk.img.gz >/dev/sda.
O hazlo con rsync. Simplemente construya el comando con los parámetros, y lo hará todo de la manera más eficiente.
vakufo
En el segundo comando de la segunda lista, ¿qué se dd if=.../disk.img.gz |supone que debe hacer la parte? Por lo que yo entiendo, gzip -dc(= zcat) no le importa stdincuando hay un argumento de archivo.
Sr_
No creo que Linux pueda reproducir de manera confiable las instalaciones de Windows simplemente copiando la estructura del archivo. Por lo tanto, la necesidad de copiar como bit-like dd. ddrescueparece más robusto que simple dd. ¿Usarías GNU ddrescueo dd_rescue? ¿Qué es un buen Live CD para descargar?
mcu

Respuestas:

3

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=4ko bs=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 .

Coren
fuente
9

No necesita usar ddni tuberías en absoluto.

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

Una vez hice un punto de referencia y encontré el uso ddmás lento que catpara una copia directa entre diferentes discos. Esperaría que la tubería haga cualquier solución que implique ddaún más lenta en este caso.

Gilles 'SO- deja de ser malvado'
fuente
Ese es un ejemplo del uso de la redirección.
psusi
@psusi Gah! Quise escribir "dd o piping". Gracias.
Gilles 'SO- deja de ser malvado'
¿Hay alguna forma de combinar pvestos comandos?
Yaron
2
Claro @Yaron: sustituir gzippor pv | gzipy gzip -dporgzip -d | gv
Gilles parada SO ser maligno '
0

Más simple:

gzip -c /dev/sda > disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz > /dev/sda 
Mike Redrobe
fuente