如何将 Debian 远程机器上的整个磁盘 dd 或 cp 复制到本地机器?

Dom*_*red 2 backup debian cp rsync dd

我已经阅读了这篇文章 -如何在本地机器上使用 SSH 添加远程磁盘并保存到本地磁盘

但是,以下代码不起作用:

"dd if=/dev/sda | gzip -1 -" | dd of=image.gz
Run Code Online (Sandbox Code Playgroud)

因为我没有任何/dev/sda目录。我假设这是因为我使用的是 Debian 7.0。

非常感谢任何帮助获取我的 vps 的完整副本。

Gil*_*il' 5

磁盘的设备名称取决于它是什么类型的磁盘(更准确地说,取决于磁盘连接到什么类型的总线和控制器,以及处理它们的驱动程序)。/dev/sda是 PC 中第一个磁盘的典型名称(可以根据驱动程序使用其他名称,例如某些较旧类型的磁盘控制器或某些硬件 RAID 控制器)。在 VPS 中,磁盘通常是虚拟磁盘,设备名称取决于虚拟化技术,例如/dev/vda/dev/xvda。您可以使用df或找到系统上的块设备名称lsblk

但是不要使用它来从实时系统进行备份!您很可能会得到一个无法读取的备份。如果在进行备份时磁盘内容发生变化,这在实时系统上是不可避免的(例如,日志被写入某处),那么您的映像将不一致——有点旧状态,有点新状态——并且可能无法恢复。

制作备份的首选方法是制作快照,即冻结的文件系统视图,即使真实系统不断变化也不会改变。如何做到这一点,以及它是否完全可能,取决于您的系统是如何设置的。某些文件系统类型(例如 btrfs 和 zfs)具有内置快照功能。LVM 还可以制作卷的快照。

如果您无法制作快照(或者即使您可以)制作文件级备份。来自系统的文件级备份的更改将不一致,但如果您不进行“重要”更改,则备份将可用。例如,如果您四处移动文件,如果它们碰巧从备份程序尚未遍历的目录移动到它已经遍历的目录,则它们可能会从备份中省略。另一方面,如果日志文件不断增长,您将拥有该文件的一些中间版本,但不会有损坏的文件系统映像。如果删除了一个文件并创建了另一个文件,您可能没有这些文件,或者其中一个,或者两者都有,但是旧文件的目录条目不会指向新文件中的某些数据。

您可以使用 GNU tar(以 root 身份!)来备份包含重要元数据的 Linux 系统。

ssh root@vps 'tar -cJf - --acls --selinux --one-file-system /' >vps.tar.xz
Run Code Online (Sandbox Code Playgroud)