有时 OS X 告诉我它“正在准备备份...”很长一段时间。花费的时间似乎与要备份的数据量无关。“完成备份...”阶段也是如此。
问题:OS X 在“准备备份...”和“完成备份...”时在做什么?
我知道它正在弄清楚要备份什么,然后记录更改,但肯定需要的时间应该与更改的数据量成正比。有足够的空间磁盘空间(所以我假设它没有删除旧备份)。如果这有什么不同,我正在使用 TimeCapsule。没什么问题,我只是好奇。
有时 OS X 告诉我它“正在准备备份...”很长一段时间。花费的时间似乎与要备份的数据量无关。“完成备份...”阶段也是如此。
问题:OS X 在“准备备份...”和“完成备份...”时在做什么?
我知道它正在弄清楚要备份什么,然后记录更改,但肯定需要的时间应该与更改的数据量成正比。有足够的空间磁盘空间(所以我假设它没有删除旧备份)。如果这有什么不同,我正在使用 TimeCapsule。没什么问题,我只是好奇。
这是另一个论坛的答案(我不知道原始海报):
为了补充 Keen 指挥官的回答,我建议阅读Earthling Soft对Time Machine的深入了解。此外,backupd 将更多信息记录到 system.log(这将说明为什么准备状态如此之长等等)
要轻松查看
backupd
日志,请查看Time Machine Buddy小部件。另请注意,备份磁盘本身还有另一个日志,位于.Backup.log
每个备份文件夹中的隐藏文件中。这提供了backupd
日志以外的一些其他信息。请注意,日志通常会显示似乎不匹配的数字:
上面,实际复制的文件比最初预测的要少。由于 Time Machine 依赖于仅报告更改的目录的FSEvents,我假设在上面的示例中,这些目录总共包含 821.4 MB 的文件。在实际复制文件的同时,Time Machine 将硬盘上更改的目录与备份进行比较,发现实际更改的文件只有 3.8 MB。
要查看已写入备份的内容,请参阅TimeTracker (GUI) 或timedog(命令行)。请注意,即使以管理员用户身份运行,有时这些程序也需要以 root 身份运行才能查看所有文件。如果不这样做,这些工具可能不会将 MySQL 日志和数据的备份考虑在内,它们由组wheel中的_mysql拥有:
在这些情况下,这两种工具都会(默默地)报告比
backupd
控制台中的日志更小的总备份大小和更少的文件。因此,如果数字与日志不匹配,那么对于 TimeTracker:同样,对于 timedog:
要轻松找到硬盘上的大文件,请参阅磁盘清单X。该程序与 Time Machine 无关,但可能有助于调查问题,例如当您想知道为什么备份比硬盘上使用的空间小很多时。请注意,该程序在其窗口标题中报告的总磁盘空间可能总是比在可以选择要调查的磁盘的屏幕中报告的总磁盘空间少(即使以 root 身份运行并选择菜单查看,显示物理文件大小)。但是,如果报告的总大小确实比 Mac 上使用的实际总大小小很多,那么以 root 身份运行可能会有所帮助:
要从备份中删除文件(例如,如果您碰巧发现 Time Machine 实际上正在备份一些大文件,例如失控的 MySQL 日志文件),Apple 写道:
现在,如果您要删除的那些文件仅对 root 可见,那么您也应该以 root 身份调用“Enter Time Machine”。这需要首先以 root 身份启动 Finder:
这看起来像一个普通的 Finder,但您会注意到Finder 侧边栏中主文件夹图标旁边的root 。例如,现在使用 Shift-Cmd-G(菜单 Go,Go to Folder)进入
/usr/local
并找到要从备份磁盘中删除文件的文件夹。接下来,输入 Time Machine(并再次验证根文件夹是否显示在主文件夹图标旁边)并按照 Apple 的说明进行操作。从备份中删除文件后,在终端中按 Ctrl-C 以停止 root-Finder。(我还需要注销我的 Mac,因为远程磁盘无法正确卸载。)如果您使用的是稀疏捆绑包(例如在网络上使用备份时),则任何释放的空间都不会自动回收(或者:直到需要空间时才回收)。要强制执行此操作,请参阅如何从 OS X 上的 sparsebundle 中回收所有/大部分可用空间。这不仅适用于您手动删除的文件,还适用于在备份后精简期间由 Time Machine 为过期的每小时或每日备份删除的文件。
当磁盘空间用完时,Time Machine 实际上会压缩稀疏包本身。但似乎它可能会在pre-backup Thinning期间首先删除一些旧备份,所以如果您曾经删除过一些大文件,或者过期的备份可能包含大文件,手动压缩可能是明智之举:
非常感谢 Adam Cohen-Rose 对上述内容进行了测试;查看他的博客了解更多详情!
当卡在“准备”中时(ThinningPreBackup)
使用 lsof(确保以 root 身份运行)查看备份访问的文件 - 最后一个文件应该更改:
这表明它正在做某事 - 并且要有耐心......