Une solution simple pourrait être d'utiliser simplement "/usr/bin/split". Il divise simplement les fichiers en morceaux. Vous pouvez utiliser "-" comme nom de fichier d'entrée pour lire à partir de l'entrée standard. La bonne chose à propos de split est qu'il est simple, il n'affecte pas la chaîne d'outils de manière réelle et vous pouvez "joindre" les fichiers en utilisant simplement "cat" pour les regrouper (ou les rediriger vers une autre application).
Vous voudrez probablement envisager d'utiliser tar
, comme le dit KPWINC, mais pour répondre directement à votre question, vous souhaitez utiliser dd
l'option "ignorer".
Si votre première commande, comme indiqué, est :
sudo dd if=/dev/sdf1 bs=4096 count=150GB | gzip > img1.gz
Alors votre deuxième serait :
sudo dd if=/dev/sdf1 bs=4096 skip=150GB count=40GB | gzip > img2.gz
et troisième :
sudo dd if=/dev/sdf1 bs=4096 skip=190GB count=120GB | gzip > img3.gz
Cela dit, je ne suis pas sûr que le suffixe "GB" fasse ce que vous voulez. Je pense qu'il fait juste des calculs bruts sur le numéro racine qu'il suit, sans comprendre comment obtenir autant de gigaoctets à partir de la taille de bloc que vous avez donnée. Je ferais quelque chose comme ça :
dd if=/dev/sdf1 bs=`expr 10 * 1024 * 1024` count=`expr 15 * 1024 * 1024 * 1024`
juste pour être sûr du calcul.
Oh, et assurez-vous que votre appareil ne change pas sous vous lorsque vous le copiez. Ce serait mauvais.
C'est ma ligne de commande :
dd if=/dev/sda bs=4M | gzip -c | split -b 2G - /mnt/backup_sda.img.gz
Il créera des fichiers de 2 Go de cette manière :
backup_sda.img.gz.aa
backup_sda.img.gz.ab
backup_sda.img.gz.ac
Restaurer :
cat /mnt/UDISK1T/backup_sda.img.gz.* | gzip -dc | dd of=/dev/sda bs=4M
J'espère que ça aide.