Si su intención es hacer una copia de seguridad del HDD A de una computadora remota a través de SSH en un solo archivo que está en el HDD de su computadora local, puede hacer una de las siguientes acciones.
Ejemplos
correr desde una computadora remota
$ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz
correr desde la computadora local
$ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz
Ejemplo en 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 el monitoreo?
- Inicie sesión a través
ssh
de otra terminal y ls -l
el archivo para ver cuál es su tamaño.
Puede usar pv
para monitorear el progreso de una operación de dd grande, por ejemplo, para el ejemplo remoto anterior, puede hacer:
$ dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=image.gz
Envíe una señal "SIGUSR1" dd
e imprimirá estadísticas. Algo como:
$ pkill -USR1 dd
Referencias
Los métodos mencionados anteriormente para el monitoreo se dejaron originalmente a través de comentarios de @Ryan & @bladt y de mí mismo. Los moví a la respuesta para hacerlos más obvios.
ONE
del disco duro de la computadora remota enTWO
el almacenamiento de la computadora remota ), así: <br /> [root @ ONE] # dd if = / dev / sda1 | raíz ssh @ DOSdd of=/root/Public/ONE/sda1.img
<br /> 409600 + 0 registros en 409600 + 0 registros 209715200 bytes (210 MB) copiados, 0.894929 s, 234 MB / s El pseudo-terminal no se asignará porque stdin no es una contraseña de raíz raíz @ TWO : El problema es que el/root/Public/ONE/sda1.img
archivo se creó elONE
, noTWO
como se esperaba ¿Cómo puedo solucionar esto?