Tecnicamente, você nem precisa do dd
:
gzip < /dev/drive > drive.img.gz
Se você usar dd
, você deve sempre usar blocos maiores que o padrão como dd bs=1M
ou sofrer o inferno syscall (o tamanho padrão do dd
é 512 bytes, pois read()
s e write()
s que é 4096
syscalls por MiB
, muita sobrecarga).
gzip -9
usa muito mais CPU com muito pouco para mostrar. Se gzip
estiver atrasando você, diminua o nível de compactação ou use um método de compactação diferente (mais rápido).
Se você estiver fazendo backups baseados em arquivo em vez de dd
images, poderá ter alguma lógica que decida se deseja compactar ou não (não faz sentido fazê-lo para vários tipos de arquivo). dar
( tar
alternative ') é um exemplo que tem opções para isso.
Se o seu espaço livre for ZERO (porque é um SSD que retorna zero com segurança após TRIM e você executou fstrim
e descartou caches), você também pode usar dd
com conv=sparse
flag para criar um descompactado, montável em loop , imagem esparsa que usa zero espaço em disco para as áreas zero. Requer que o arquivo de imagem seja apoiado por um sistema de arquivos que suporta arquivos esparsos.
Como alternativa, para alguns sistemas de arquivos, existem programas capazes de apenas visualizar as áreas usadas.