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.


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 .


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.


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 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.