有时OS X告诉我,这是“准备备份…”在很长一段时间。 所花费的时间似乎与要备份的数据量无关。 “完成备份…”阶段也一样。
问题:当“准备备份…”和“完成备份…”时,OS X做了什么?
我知道这是计算出要备份的内容,然后logging这些变化,但是确实需要花费的时间应该与变化的数据量成比例。 有足够的空间磁盘空间(所以我认为它不会删除旧的备份)。 如果这有什么不同,我正在使用TimeCapsule。 没有什么是错的,我只是好奇。
这里是另一个论坛的答案(我不知道的原始海报):
Time Machine中的“准备”阶段通常很快,因为Time Machine使用文件系统活动的日志来知道在哪里find需要备份的更改。
但是有些事情可以做,使日志不值得信赖。 当Time Machine发现日志可能无效时,它会对您的文件系统进行全面扫描,以确定真正需要备份的内容。 这可能需要一段时间。 在我的Powerbook(以及Firewire外部Time Machine驱动器)上,可以导致持续20分钟的“准备”阶段。 如果让Time Machine继续运行,它最终会找出真正需要添加到备份磁盘的内容,并会继续。 当然,这比仅仅赌博日志是正确的,或者仅仅是备份一切,尽pipe只有less数文件可能实际上已经改变了(这会花费更长的时间并消耗更多的Time Machine磁盘空间)。
在Leopard安装的这些早期阶段,最常见的事情之一就是使日志不可靠,从Leopard安装DVD启动。 每当你这样做的时候,下次Time Machine运行的时候,你会发现你的硬盘MIGHT已经被修改了,没有改变被反映在日志中。 所以它做了全面的扫描 – 一个漫长的“准备”阶段 – 以确保事情正确。
为了赞扬司令Keen的回答,我build议你阅读Earthling Soft对Time Machine的深入了解。 此外,更多的信息通过backupdlogging到system.log(这就是为什么准备状态如此之长等)
要轻松查看backupd日志,请查看Time Machine Buddy小部件。 另外请注意,备份磁盘上还有另一个日志,在隐藏文件.Backup.log中可以在每个备份的文件夹中find。 这提供了除backupd日志以外的其他信息。
请注意,日志通常显示的数字似乎不匹配:
无需预备份稀释:821.4 MB请求(包括填充)[..] 从Macintosh HD复制1630个文件(3.8 MB)。
以上,实际复制的文件比首次预测的要less。 由于Time Machine依赖于只报告更改的目录的FSEvent ,我假设在上面的例子中这些目录共有821.4 MB的文件。 在实际复制文件时,Time Machine然后将硬盘上已更改的目录与备份进行比较,发现只有3.8 MB的文件实际发生了更改。
要查看已写入备份的内容,请参阅TimeTracker (GUI)或timedog (命令行)。 请注意,即使以admin用户身份运行,有时这些程序也需要以root身份运行以查看所有文件。 如果不这样做,这些工具可能不会考虑到MySQL组日志和数据的备份,这些备份由group wheel中的_mysql拥有:
cd“/ Volumes / XX / Backups.backupdb / XX /最新的备份” sudo ls -l“Macintosh HD / usr / local / mysql-5.0.51a-osx10.5-x86” [..] drwxr -x --- @ 6 _mysql wheel 374 Jul 2 20:05 data
在这些情况下,这两个工具将(以静默方式)报告比控制台中的backupd日志更低的总备份大小和更less的文件。 所以, 如果这些数字与日志不匹配,那么对于TimeTracker:
sudo〜/下载/ TimeTracker.app /目录/ MacOS / TimeTracker
同样,对于时间:
cd“/ Volumes / XX / Backups.backupdb / XX的备份” sudo〜/下载/时间狗
要轻松地在硬盘上查找大文件,请参阅磁盘清单X. 这个程序与Time Machine无关,但可能有助于调查问题,例如当你想知道为什么你的备份比硬盘上的空间要小的多。 请注意,这个程序可能总是在其窗口标题中报告总的磁盘空间less于在其中可以select要调查哪个磁盘的屏幕(甚至当作为根运行并select菜单查看,显示物理文件大小时)。 但是,如果报告的总大小实际上比Mac上实际使用的总大小还要小,则可能有助于以root身份运行:
sudo“$ HOME / Downloads / Disk Inventory X.app/Contents/MacOS/Disk Inventory X”
为了从备份中删除文件 (例如,如果您碰巧发现Time Machine实际上正在备份一些大文件,比如失控的MySQL日志文件), Apple写道 :
想要删除以前备份的文件或文件夹的所有实例吗? 很简单。 启动Time Machine,select要删除的项目,然后从Finder工具栏的操作菜单中select“从所有备份中删除”。
现在, 如果要删除的文件只对根目录可见,则应该以root身份调用“Enter Time Machine”。 这就要求Finder首先以root身份启动:
sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder
这看起来像一个普通的Finder,但是你会注意到在Finder边栏的主文件夹图标旁边的根 。 现在使用Shift-Cmd-G(菜单Go,Go to Folder)去例如/usr/localfind你要从备份盘上删除文件的文件夹。 接下来,inputTime Machine(并再次validation根目录显示在主文件夹图标旁边),然后按照Apple的说明进行操作。 完成从备份中删除文件后,在terminal中按Ctrl-C以停止root-Finder。 (我还需要注销我的Mac,因为远程磁盘不能正常卸载。)
如果你使用的是一个稀疏的包(就像在networking上使用备份一样),那么任何被释放的空间都不会被自动回收(或者:直到需要空间)。 要执行此操作,请参阅如何从OS X上的sparsebundle回收所有/最多的可用空间 。 这不仅适用于您手动删除的文件,而且还适用于Time Machine在过期后每小时或每日备份期间删除的文件。
当磁盘空间用完时,Time Machine实际上会压缩稀疏捆绑本身。 但是,似乎可能会在预备份细化期间首先删除一些旧的备份,所以如果您删除了一些大文件,或者过期的备份可能包含了大文件,手动压缩也许是明智之举:
开始预备份细化:请求53.57 GB(包括填充),
9.90 GB可用
不存在过期的备份 - 删除最旧的备份以腾出空间
已删除备份/卷/备份XX / Backups.backupdb / XX / 2007-12-20-172543:
现在可用9.90 GB
已删除备份/卷/备份XX / Backups.backupdb / XX / 2007-12-31-005523:
现在可用9.90 GB
删除了2个备份:最早的备份现在是2008年1月8日
停止备份。
备份已取消。
popup时间机器磁盘映像。
压缩备份磁盘映像以恢复可用空间
完成备份磁盘映像压缩
开始标准备份
[..]
开始预备份细化:请求53.57 GB(包括填充),
可用的12.75 GB
非常感谢Adam Cohen-Rose对上述的testing。 看他的博客更多细节!