Backup com dd (dd backup without empty space)

Com a utilização do Raspberry tive a necessidade de preparar uma imagem base para clonar em outros dispositivos ou até mesmo para fins de backup. A melhor ferramenta para realizar essa operação é o dd, porém se não for definido a área que se deseja realizar o backup ele faz de todo o disco mesmo das áreas vazias (sem partição).

Este post mostra como verificar a área utilizada do disco (ou cartão de memória no caso do Raspberry) e realizar o backup somente dessas áreas. Adicionalmente mostra como realizar o backup e compactar com gzip.

Verificando área utilizada

Execute o comando abaixo substituindo o X pelo seu dispositivo

fdisk -l /dev/sdX

O retorno do comando será similar ao mostrado abaixo

fdisk


O retorno do comando mostra os blocos utilizados por cada partição bem como o bloco inicial, final e o tamanho do bloco.

Neste retorno a ultima partição /dev/sdb2 tem o seu final no bloco 6266879, desta forma o comando dd necessita realizar o backup até este bloco, porém por preciosismo faremos o backup de um bloco a mais.

Backup sem gzip

dd if=/dev/sdb bs=512 count=6266880 of=/path/to/imagefile.img

Backup com gzip

dd if=/dev/sdb bs=512 count=6266880 | gzip | dd of=/path/to/imagefile.img.gz

Nos 2 comandos acima utilizamos o tamanho do bloco (bs=) como 512 e a contagem como o último bloco a ser copiado.

Restauração sem gzip

dd if=/path/to/imagefile.img of=/dev/sdX

Restauração com gzip

dd if=/path/to/imagefile.img.gz | gunzip | dd of=/dev/sdX

Cópia dos dados de disco para disco

dd if=/dev/sdb bs=512 count=6266880 of=/dev/sdX
Helvio Junior

Helvio Junior

Especialista em Segurança Ofensiva e Análise de Malwares em SafeTrend
Especialista em Segurança Ofensiva e pesquisador independente de Malwares.
Helvio Junior
1 responder
  1. anderson cleiton
    anderson cleiton says:

    tenho um raspberry com o raspbien instalado ja funcionando perfeitamente.como faço para clonar ele
    obs: antes usava desktop com S.O ubuntu e eu clonava os hds com comando :sudo dd if=/dev/sda of=/dev/sda

    no raspbien eu baixei o e partiçao que esta o raspbien é o /dev/mmcblk0 botei um adaptador na porta usb para clonar-lo e ele esta com a particão /dev/sda ja dei o comando sudo dd if=/dev/mmcblk0 of=/dev/sda ei qu e não consigo clonar o que fazer

    obs: ele não da erro sei que demora para clonar mais a espera da clonagem esta um exagero .Por favor se tiver alguma dica ajude-me

    Responder

Deixe uma resposta

Want to join the discussion?
Feel free to contribute!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *