Una solución simple podría ser simplemente usar "/usr/bin/split". Simplemente rompe los archivos en pedazos. Puede usar "-" como el nombre del archivo de entrada para leer desde la entrada estándar. Lo bueno de dividir es que es simple, no afecta la cadena de herramientas de ninguna manera real y puede "unir" los archivos simplemente usando "gato" para unirlos nuevamente (o canalizarlos a otra aplicación).
Probablemente quieras considerar usar tar
, como dice KPWINC, pero para responder a su pregunta directamente, debe usar dd
la opción "saltar".
Si su primer comando, como se indica, es:
sudo dd if=/dev/sdf1 bs=4096 count=150GB | gzip > img1.gz
Entonces tu segundo sería:
sudo dd if=/dev/sdf1 bs=4096 skip=150GB count=40GB | gzip > img2.gz
y tercero:
sudo dd if=/dev/sdf1 bs=4096 skip=190GB count=120GB | gzip > img3.gz
Dicho esto, no estoy seguro de que el sufijo "GB" haga lo que pretendes. Creo que solo hace matemáticas en bruto en el número raíz que sigue, no descubre cómo obtener tantos gigabytes del tamaño de bloque que ha dado. Yo haría algo como esto:
dd if=/dev/sdf1 bs=`expr 10 * 1024 * 1024` count=`expr 15 * 1024 * 1024 * 1024`
solo para estar seguro de las matemáticas.
Ah, y asegúrese de que su dispositivo no cambie debajo de usted mientras lo copia. Eso sería malo.
Es mi línea de comando:
dd if=/dev/sda bs=4M | gzip -c | split -b 2G - /mnt/backup_sda.img.gz
Creará archivos de 2GB de esta manera:
backup_sda.img.gz.aa
backup_sda.img.gz.ab
backup_sda.img.gz.ac
Restaurar:
cat /mnt/UDISK1T/backup_sda.img.gz.* | gzip -dc | dd of=/dev/sda bs=4M
Espero que ayude.