首先时dd备份
dd if=boot.img of=/dev/fd0
把远程主机磁盘备份到本地
ssh user@ip "dd if=/dev/sda | gzip -1 -" | dd of=./backup.gz
把本地磁盘备份到远程主机
dd if=/dev/sda | gzip -1 - | ssh user@ip "dd of=backup.gz"
把远程备份恢复到本地
ssh user@ip "dd if=/path/to/backup.gz" | gunzip | dd of=/path/to/restore
把本地备份恢复到远程主机
dd if=/path/to/backup.gz | ssh user@ip "gunzip | dd of=/dev/sda"
传输文件到本地
这里假设需要备份目标伺服器的 /dev/sda ,这里使用 zstd 进行传输前压缩1
ssh <user name>@<host> "dd bs=1M iflag=fullblock if=/dev/sda status=progress | zstd -16" > sda.zst.img
传输文件回伺服器
这里按照之前的假设原样回档
ssh <user name>@<host> "zstdcat -- | dd bs=1M iflag=fullblock of=/dev/sda status=progress " < sda.zst.img