rsync 可启动备份

rsync 可启动备份

纪伟提及PSA:备份一个相当聪明的备份系统。您的备份方法实际上是恢复到替换驱动器。这似乎只在 OSX 上有效。我需要做什么才能在 Ubuntu 上遵循本指南?

答案1

以与系统驱动器相同的方式对两个外部驱动器进行分区,然后 rsync 所有分区,并将引导扇区(驱动器的第一个扇区)从系统驱动器添加到外部驱动器。虽然丑陋,但如果您正确进行分区(如果)则可以使用。

另外,还可以看看更先进的“系统快照”系统,如 mondo rescue,它可以为您解决这类棘手的问题。

答案2

对于 Ubuntu,我建议使用备份,整个“rsyncing 实时可启动磁盘”在 Linux 中无法很好地运行。如果两个驱动器上的 UUID 不同(9/10 会不同),那么您不能简单地从备份磁盘启动以重新启动并运行,您需要先从 Ubuntu CD 启动并编辑替换驱动器上的 /etc/fstab。如果 UUID 相同,那么在尝试同时安装两个驱动器时会遇到问题。

Mac 文件系统的差异使得这种欺骗成为可能,我从未听说过通过 rsync 来实现这种方法,但它非常在 OSX 世界中,备份很常见,只需创建实时启动卷的磁盘映像,然后稍后即可恢复。OSX 安装 CD 上提供了恢复此类映像的功能。

对于 Ubuntu 来说,最快的解决方案是备份然后只需重新安装 Ubuntu(从 Ubuntu“live CD”开始,这实际上与恢复磁盘映像相同,之后您可以从 sbackup 存档中恢复以前的软件包选择、配置和数据。相当简单,我想您可以编写一个指南,让新用户轻松完成备份/安装/恢复的完整步骤。

答案3

如果您很聪明,并且提前计划,那么您可以使用 LVM 来为您完成此操作。

假设您的系统位于使用 LVM 的驱动器上;实际上,整个系统位于某个 LVM 卷上。

将第二块硬盘放在外置机箱中,将其连接到系统,让 LVM 识别该硬盘,然后使用 LVM 的镜像功能将硬盘复制到位。完成完整复制后,取消镜像。现在您将获得一个精确的时间快照(因为镜像还记录了复制过程中发生的任何更改)。现在您唯一需要做的就是使其可启动。如果您使用的是 GRUB,则可以从现有系统中执行此操作。

如果您真的想聪明一点,请将此过程编写为脚本,并定期运行该脚本。您所要做的就是确保在运行时连接外部驱动器。

答案4

我没有给你一个确切的分步指南,但我想我会开始构建这样的系统。我根据你的图标和标签假设你是一个 Ubuntu 用户。

  • 我会先迷你iso与您的运行系统相匹配,并在便携式驱动器上进行仅 CLI 安装。我会将其设为一个大分区。
  • 我将测试从便携式驱动器启动以确保到目前为止一切正常。
  • 在您的便携式驱动器上安装时,我会更新 /etc/fstab 和 /boot/grub/menu.list 以使用 uuid(如果它们尚未使用)。
  • 我将创建一个备份脚本(/root/rsync-to-portadrive)和排除文件(/root/rsync-exclude),如下所示(您可能需要添加/调整您的排除文件)。

我还没有测试过,也没有弄清楚细节,但我很确定,如果您使用 rsync 并且不覆盖 /etc/fstab 或 /boot,那么系统应该仍然可以启动并能够挂载根文件系统。/root/rsync-exclude 文件将阻止您包含不需要备份的 tmp 文件和垃圾,并阻止您覆盖 /boot 目录和 fstab。

就像我说的,我还没有测试过,但我相信我的基本计划是可行的。我同意其他发帖者的观点,认为这不是备份系统的好方法。如果您有任何数据库应用程序(如 mysql),则需要确保单独备份它们。

/root/rsync-到-portadrive

# mount the portable device
mkdir -p /srv/portabackup/
mount /dev/disk/by-uuid/19976dc9-2d2b-43e3-87ff-d3fb071ddcb3 /srv/portabackup/

# make a backup of your /boot and fstab
mkdir -p /srv/portabackup/boot_backup/
cp /etc/fstab /srv/portabackup/boot_backup/fstab
rsync -va /boot/ /srv/portabackup/boot_backup/
# sync the main system
rsync -vaEH --delete --stats -D --numeric-ids \
      --exclude-from=/root/rsync-exclude \
      / /srv/portabackup/
# unmount
umount /srv/portabackup/

/root/rsync-排除

- lost+found/
- core
- *~
- .nfs*
- /tmp/***
- /var/tmp/***
- /boot/***
- /boot_backup/***
- /etc/fstab
- /etc/mtab
- /srv/portabackup/***
- /proc/***
- /sys/***
+ *

相关内容