gzip - redirection ou tuyauterie?

10

Je vais sauvegarder un gros disque (750 Go) sur un disque USB externe en utilisant dd.
Dois-je utiliser la redirection ou la tuyauterie? Quel est le plus efficace? Ou y a-t-il une différence?

De plus, quelle est la meilleure taille de bloc? L'USB est probablement le goulot d'étranglement ici.

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

contre

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

Merci.

mcu
la source
2
J'essaierais de sauvegarder des systèmes de fichiers, pas des images de disque brutes. Et pour régler les paramètres, vous devrez comparer.
ddest archaïque (tout autre outil enlève heureusement bs=et count=, comme ddrescue), et dans votre cas aussi à peu près inutile. Il suffit de le canaliser dans gzip -c </dev/sda >disk.img.gz& gzip -cd disk.img.gz >/dev/sda.
Ou faites-le avec rsync. Construisez simplement la commande avec les paramètres, et elle vous fera tout de la manière la plus efficace possible.
vakufo
Dans la deuxième commande de la deuxième liste, quelle est la dd if=.../disk.img.gz |partie censée faire? Pour autant que je comprends, gzip -dc(= zcat) ne se soucie pas de son stdinquand il y a un argument de fichier.
sr_
Je ne pense pas que Linux puisse reproduire de manière fiable les installations Windows en copiant simplement la structure du fichier. D'où la nécessité d'une copie au niveau du bit comme dd. ddrescuesemble plus robuste que simple dd. Souhaitez-vous utiliser GNU ddrescueou dd_rescue? Qu'est-ce qu'un bon Live CD à télécharger?
mcu

Réponses:

3

La tuyauterie implique un processus de plus et une copie de plus du terrain utilisateur, il devrait donc être plus efficace d'utiliser la redirection.

Mais je suppose que de nos jours, le système de mise en cache du matériel et des logiciels ne devrait pas faire de réelle différence. Vous pouvez peut-être obtenir de meilleurs résultats en utilisant bs=4kou bs=64k, car c'est la limite du tuyau sous linux. Voir cette question pour plus de détails sur les différents paramètres bs .

Coren
la source
9

Vous n'avez pas du tout besoin d'utiliser ddou de tuyauterie.

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

J'ai fait une fois une référence et j'ai trouvé l'utilisation ddplus lente que catpour une copie directe entre différents disques. Je m'attendrais à ce que le tuyau rende toute solution impliquant ddencore plus lente dans ce cas.

Gilles 'SO- arrête d'être méchant'
la source
C'est un exemple d'utilisation de la redirection.
psusi
@psusi Gah! Je voulais écrire "dd or piping". Merci.
Gilles 'SO- arrête d'être méchant'
Existe-t-il un moyen de combiner pvces commandes?
Yaron
2
@Yaron Sure: remplacez gzippar pv | gzipet gzip -dpargzip -d | gv
Gilles 'SO- arrêtez d'être méchant'
0

Plus simple:

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