使用 rsync 更新可启动的 OS X 驱动器克隆?

使用 rsync 更新可启动的 OS X 驱动器克隆?

问题:

是否可以使用 rsync 保持 OS X 的可启动备份驱动器克隆更新?如果 rsync 不可行,还有其他选择吗?

设置:

驱动图

我的情况如上所示。一个内置三星 840 SSD [120g] 用作我最新款 Mac Mini 上的 OS X 10.8 启动盘。我已成功使用磁盘实用程序将该驱动器克隆到外部 USB 3 机箱中另一个 HDD 的 125GB 分区,此时我便能够启动它。

目标:

由于我的上一个系统在一次大火中烧毁,带走了大量宝贵的数据,我对正确的备份解决方案有了新的认识,并真心希望做好这件事。我的目标是实现从磁盘 A 到磁盘 B 的自动差异备份/更新,同时最重要的是保持外部驱动器的可启动性。我更愿意以差异方式执行此操作,以最大限度地减少驱动器的压力。因此,rsync 是我首先想到的。

我已尝试过:

遵循 Jamie Zawinski 的差异化 Mac 可启动备份解决方案

手动运行这个程序最初是有效的——我只用非常小的文件更改进行了测试,一切都很好/外部启动等等。现在,经过后续传递后,rsync 失败,抛出错误,特别是与更新“boot.efi”有关(目前不在机器上,我会在回家后更新精确的日志消息)。

这是驱动器分区大小问题吗?rsync 是否需要更多空间?

如果做不到,还有其他选择吗?我听到过传言dd

  • OS X 10.8.4
  • 2.3 GHz 英特尔酷睿 i7
  • 迷你苹果电脑
  • 磁盘 A 是容量为 120GB 的 SSD,但仅使用了约 35GB。

  • 磁盘 B 是一个 125GB 的分区,如上所述,其中仅使用了约 35GB,另外还有 ~= 90GB 的可用空间

  • 我只是提出这一点,因为我不知道 rsync 的具体操作方式,但我无法想象它会利用超过 125GB 的暂存空间来差异备份 35GB 的数据和设置。

更新:

经过几个小时无法重现问题并且无法成功操作后,我偶然发现了一些现有的软件选项并尝试了它们。

我仍然想知道使用 rsync 对克隆的启动驱动器进行差异更新的正确方法,并希望有人能提供可行的方法。

答案1

我的新脚本包装了 rsync,并提供了此功能。它旨在创建干净、可启动的 Mac OS X 克隆,并提供全面的日志记录和错误处理。

https://github.com/jedda/Counterpart

答案2

我用过碳抄本以前有过类似的东西。它不是免费的,但很便宜,你可以免费使用 30 天。

答案3

您应该在运行脚本后查看并发布(匿名)/var/log/syslog.log 输出。如果这不能帮助您解决问题,请随时发布相关的匿名日志数据。这就是我解决这个问题的方法。

对我来说显示权限错误

$ cat /var/log/syslog.log | grep rsync

您可能注意到,在查看日志时,如果您无法写入或读取目标备份文件夹,则会出现错误。在原始说明中,博客告诉您取消选中 Finder 中目标备份驱动器的“忽略权限”(我还必须启用管理员的读/写权限),以便 rsync 可以执行其操作。如果您稍后返回并查看权限,您会发现 OSX 倾向于在驱动器断开连接时(即,如果您重新启动、睡眠或弹出)继续将这些权限更改回其原始配置。

浏览论坛时,我发现有人说此行为与名为 /var/db/volinfo.database 的文件有关。显然,删除此文件,然后设置所需的权限可以修复此行为。目前看来,这行得通……设置完成后,我可能必须对此文件进行写保护,或者……在运行 rsync 任务之前,根据需要修改脚本以更改权限……

$ sudo rm /var/db/volinfo.database

请注意,如果您为多个驱动器设置了自定义权限...您可能需要在删除文件之前保存它。我不确定删除此文件会如何影响具有多个连接驱动器的系统或其他已保存的内容。虽然我认为这是一种良性修复...但如果您明显破坏了某些东西,能够轻松恢复是个好主意。

但是,是的,这就是我让这个解决方案发挥作用的方法。启动起来非常顺利。一开始很慢……但聚光灯/配置正在发生。然后下次尝试时速度快了很多……

我相信我会想稍微调整一下 rsync 脚本...但是是的...这对我来说是个好的开始。当我有更完善的改进时,我会稍后更新。

此外,您可能希望尝试向您的或任何脚本添加一个命令来祝福驱动器并对其进行 chown;OSX 似乎不再尊重可插入媒体所有权,如果有机会,它将使您的驱动器不再可启动。另外……愚蠢的问题,但您在启动时是否按住了选项?即使使用 CCC,我也无法在目标磁盘模式下启动到我的可启动驱动器媒体……每次启动时都必须是 OPT。

相关内容