Ssh
如何在本地機器上使用 SSH dd 遠端磁碟並保存到本地磁碟
如何在本地電腦上使用 SSH 創建遠端磁碟的備份並將其保存到本地磁碟?
我嘗試了以下方法:
ssh hostname@my.ip.address "sudo dd if=/dev/sdX " | \ dd of=/home/username/Documents/filename.image`
但是,我收到以下錯誤:
沒有 tty 並且沒有指定 askpass 程序
如果您的意圖是通過 SSH 將遠端電腦的HDD A備份到本地電腦 HDD 上的單個文件,您可以執行以下操作之一。
例子
從遠端電腦執行
$ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz
從本地電腦執行
$ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz
活生生的例子
$ 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
監測方法?
ssh
通過在另一個終端和文件中登錄ls -l
以查看它的大小。- 您可以使用
pv
來監控大型 dd 操作的進度,例如,對於上面的遠端範例,您可以執行以下操作:$ dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=image.gz
- 發送“SIGUSR1”信號
dd
,它將列印統計資訊。就像是:$ pkill -USR1 dd
- 使用
dd
’s 進度開關,status=progress
參考