Se sua intenção é fazer backup do HDD A de um computador remoto via SSH para um único arquivo que esteja no HDD do computador local, você pode fazer o seguinte.
Exemplos
executar a partir do computador remoto
$ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz
executar a partir do computador local
$ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz
Exemplo ao vivo
$ ssh skinner "dd if=/dev/sda5 | gzip -1 -" | dd of=image.gz
208782+0 records in
208782+0 records out
106896384 bytes (107 MB) copied, 22.7608 seconds, 4.7 MB/s
116749+1 records in
116749+1 records out
59775805 bytes (60 MB) copied, 23.9154 s, 2.5 MB/s
$ ll | grep image.gz
-rw-rw-r--. 1 saml saml 59775805 May 31 01:03 image.gz
Métodos para monitoramento?
- Entre via
ssh
em outro terminal e ls -l
o arquivo para ver qual é o seu tamanho.
Você pode usar pv
para monitorar o progresso de uma grande operação de dd, por exemplo, para o exemplo remoto acima, você pode:
$ dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=image.gz
Envie um sinal "SIGUSR1" para dd
e ele imprimirá estatísticas. Algo como:
$ pkill -USR1 dd
Referências
Os métodos mencionados acima para o monitoramento foram originalmente deixados por comentários de @Ryan & @bladt e de mim. Mudei-os para a resposta para torná-los mais óbvios.
ONE
disco rígido do computador remoto para oTWO
armazenamento do computador remoto ), assim: <br /> [root @ ONE] # dd if = / dev / sda1 | ssh root @ DOISdd of=/root/Public/ONE/sda1.img
<br /> 409600 + 0 registros em 409600 + 0 registros 209715200 bytes (210 MB) copiados, 0,894929 s, 234 MB / s O pseudo-terminal não será alocado porque stdin não é uma raiz do terminal @ senha do TWO : O problema é que o/root/Public/ONE/sda1.img
arquivo foi criadoONE
, nãoTWO
como esperado. Como faço para corrigir isso?