Você realmente precisa de uma cópia bit-a-bit de todo o disco remoto? por exemplo. para análise forense digital?
Se não, se você só precisa de uma cópia das partições e os dados nelas, você pode economizar muito tempo e transferir a largura de banda por:
- copiando a tabela de partições, por exemplo com
sfdisk
.
Por exemplo:
ssh user@hostip sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdc
ou em duas etapas com um arquivo temporário:
ssh user@hostip sudo sfdisk -d /dev/sda > /tmp/sda.txt
sudo sfdisk /dev/sdc < /tmp/sda.txt
- usando
partclone
para clonar apenas as partes do sistema de arquivos que estão atualmente em uso, ignorando todo o espaço vazio e arquivos excluídos etc.
Por exemplo:
ssh user@hostip sudo partclone.ext4 -c -s /dev/sda1 -o - |
sudo partclone.ext4 -r -s - -o /dev/sdc1
partclone
suporta todos os sistemas de arquivos comuns e incomuns usados no Linux (ext2 / 3/4, btrfs, xfs, etc) e no Windows (NTFS, FAT).
O
partclone é empacotado para a maioria das distros, incluindo o debian. sfdisk
faz parte do pacote util-linux
.
Você ainda precisa resolver o problema do ssh / sudo, mas @Gilles deu uma boa resposta para isso.
A maneira mais fácil de eliminar os prompts de senha é fazer tudo isso como root ( sudo -i
para obter um shell de root), assim você não precisa dar início a todos os comandos com sudo
, e (como root ) execute ssh-copy-id hostip
para instalar a chave ssh do root @ localhost em ~/.ssh/authorized_keys
no hostip. Então você pode correr:
ssh hostip sfdisk -d /dev/sda | sfdisk /dev/sdc
ssh hostip partclone.ext4 -c -s /dev/sda1 -o - |
partclone.ext4 -r -s - -o /dev/sdc1
Se você estiver executando o ssh-agent, você só precisará digitar a senha para a chave do root uma vez no máximo (ou não, se você já a usou anteriormente).