run from remote computer 從本地備份到遠端
$ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz
看進度
# apt install pv
# dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=/path/to/image.gz
run from local computer
$ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz
# local machine backup
sudo dd if=/dev/hda of=~/hdadisk.img
#local machine restore
sudo dd if=hdadisk.img of=/dev/hda
這種做法通常用於備份碟比原始碟小
如果需要壓縮則
sudo dd if=/dev/sda bs=128M | gzip -9 | gzip > /path/to/hdadisk.img.gz
檔案太大的話
sudo dd if=/dev/sda bs=128M | gzip -9 -c | split -b 2G - /path/to/sdadisk.img.gz.
還原
sudo gzip -dc sdadisk.img.gz | dd of=/dev/sda bs=128M
還原大檔
cat /path/to/sdadisk.img.gz.* | gzip -dc | dd of=/dev/sda bs=128M
另外在dd後面加上 status=progress 可以顯示進度
如果忘了加的話, 再開一個shell輸入
sudo kill -USR1 $(pgrep ^dd)
每5秒讀一次
watch -n5 'sudo kill -USR1 $(pgrep ^dd)'