Olf*_*fan 8 mac backup osx-snow-leopard time-machine
我将不同类型的数据保存在不同的加密 sparsebundle 图像中(例如,每个客户端一个),这些图像在登录时自动挂载,但除我之外的任何人都无法打开。因此,登录后,我有许多虚拟卷,/Volumes/
可以让我的客户端数据既安全又井井有条。
我如何在 TimeMachine 的备份中包含这些虚拟卷中的数据,或驻留在任何分区/卷上任何路径中的数据?
我发现了一个很有前途的解决方案描述(博客文章不再在线)涉及编辑,com.apple.TimeMachine.plist
但我可以让 TimeMachine 做的就是备份 sparsebundle 文件本身。不过,我希望它备份已安装映像中的文件 - 类似于将 /Volumes/Client_abc/ 添加到 TimeMachine 的搜索路径。
请不要将我重定向到上一个问题,因为它根本无法解决问题。也请不要告诉我为什么你认为我不应该想要这个答案,因为这也不能解决任何问题。最后请不要说“这是不可能的”,除非你能从技术上证明这一说法。
我通过阅读 Time Machine 手册和大量博客文章、问答网站答案等找到了解决方案。到处都写着“Time Machine 不会备份可移动媒体上的数据,只能忍受它或使用奇怪的黑客。”。
但就是这样,而且太明显了!挂载的 .sparsebundle 映像被视为可移动媒体。
所以你需要做的就是安装你的 .sparsebundle(加密与否无关紧要),或者 U 盘或任何应该出现在 Time Machine 中备份的东西,作为不可移动的媒体。
这一小段 AppleScript 可以解决问题:
do shell script "hdiutil attach /path/to/your.sparsebundle -notremovable" with administrator privileges
Run Code Online (Sandbox Code Playgroud)
“-notremovable”开关将注意图像被挂载为不可移动,“具有管理员权限”短语将弹出密码请求者以root而不是您的登录用户帐户挂载图像。现在对于 Time Machine,您安装的卷只是一个硬盘,它将不再被忽略。有趣的是,因此安装的媒体仍然可以随时卸载,因此虽然它们在技术上保持可移动,但从逻辑上讲,它们不再存在。
您可以将该 AppleScript 保存为 Automator 应用程序并将其包含在您的启动项中,这样您就可以在登录时随时准备好当前的工作环境。
但是有一个警告:请确保在 Time Machine 开始备份运行时安装了您的映像。如果它只丢失一次,Time Machine 会认为其中的所有数据现在都消失了。如果下次出现,Time Machine 会将所有这些数据视为新数据并对整个图像的内容进行完整备份——这会迅速填满您的备份驱动器,从而导致备份历史记录严重丢失,因为 Time Machine 会这样做开始删除旧备份而无需询问空间何时变得稀缺。
编辑:由于 OS X Lion FileVault 2 可以加密外部备份驱动器,因此没有人可以窃取您的备份并从那里恢复未加密的数据。
我认为您找到的文章适用于较旧版本的 Time Machine,因为我遵循了更新的指南,我可以确认它在 Mac OS 10.6.7 上确实有效。文章中的主要区别在于 Time Machine 似乎已经从使用 UUID 转移到其 plist 文件中的别名记录。
这就是我所做的:
在系统偏好设置中停止 Time Machine,然后退出系统偏好设置(否则当系统偏好设置最终退出时,您的手动编辑可能/将被覆盖)
使用你最喜欢的 plist 编辑器打开时间机器设置文件,在这里找到: /Library/Preferences/com.apple.TimeMachine.plist
我建议使用共享软件编辑器Plistedit Pro而不是 Xcode,因为它允许您将原始文件保存为 root,请求管理员密码,而不是 Xcode 需要您将文件保存到用户空间然后您需要覆盖从命令行使用 root 权限创建原始文件。
在 TimeMachine.plist 中查找节点IncludedVolumes
。如果它不存在,则将其添加为根节点的子节点,它应该是一个数据项数组。
将一个新项目添加到类型为 Data 的 IncludedVolumes 数组,其值是已安装加密卷路径的别名记录。
如果您使用 Plistedit Pro,那么生成别名记录很容易。将新项目设置为 type 后,Data
您可以右键单击值字段并将View As
属性更改为Alias Record
。然后再次右键单击值字段并选择“编辑值...”,然后输入安装卷的路径,例如/Volumes/MyEncryptedVolume
。如果您将视图类型更改回仅数据,那么您可以看到别名记录现在已转换为二进制字符串。确保事先安装了加密卷,因为 Plistedit 将尝试验证别名,如果路径不存在,则会报错。
Xcode 似乎没有这种动态生成别名记录的能力。该源文章建议安装在Finder中打开稀疏图像,使其出现在Finder的最近的文件夹列表中,然后打开该~/Library/Preferences/com.apple.finder.plist
文件,然后复制该值FXRecentFolders/file-data
在同级关键name
项目的加密卷的名称相匹配。
确保ExcludeByPath
, ExcludedVolumes
,SkipPaths
数组中的任何值中也未提及加密卷的路径。
从 Time Machine 中排除稀疏包,这样您就不会备份卷两次。将路径添加到ExcludeByPath
数组或SkipPaths
数组。我能说的唯一区别是 SkipPaths 中的项目在 Time Machine 控制面板中显示和编辑,而 ExcludeByPath 中的路径完全隐藏在控制面板中。无论哪种方式,TM 都会忽略该目录。
保存 TimeMachine.plist 文件,确保 owner:group 仍然是 root:admin
就是这样。在“系统偏好设置”中重新打开 Time Machine,您现在应该在自己的备份目录中看到已安装的稀疏包的内容,作为该Macintosh HD
目录的同级,例如/Volumes/Backup of ComputerName/Backups.backupdb/ComputerName/Latest/MyEncryptedVolume
但事实上,虽然我试用了大约 3 个月并且对我有用,但我不再像这样配置 Time Machine,因为:
如果在 Time Machine 运行时卸载了稀疏包,则可以理解在备份期间跳过该卷。然而,当随后安装稀疏包时,Time Machine 将再次备份整个卷,将所有文件作为新文件复制到备份中,它不仅仅是创建一个硬链接到任何已存在于早期备份文件夹中的文件。这对我来说是一个停止显示的问题,因为我没有 100% 的时间安装每个图像。
显然,这是不受支持的 Time Machine 自定义配置,因此在 Apple 的下一个软件补丁中可能会在没有警告的情况下更改。因此,很难将这种方法描述为可靠的长期备份解决方案。
Time Machine 在备份期间在控制台日志中报告了错误的文件计数和文件大小,这并不能让我确信 TM 被剪掉以这种方式配置,即使这些文件确实在 Time Machine 上显示正确备份音量(只是偏执?)
归档时间: |
|
查看次数: |
7314 次 |
最近记录: |