我如何修剪我的 Time Machine 备份并查找和排除频繁更新的大文件以免其膨胀?

我如何修剪我的 Time Machine 备份并查找和排除频繁更新的大文件以免其膨胀?

Time Machine 很棒,因为它可以正常工作,并在后台发挥其魔力。但如果任其发展,它可能会因为您不需要备份的大文件或您不需要每个版本的频繁更改文件而变得非常臃肿。

我怎么能够

  1. 从备份中删除文件?
  2. 查找并排除我不想备份的文件(例如经常更改的文件)

答案1

删除备份

您可以通过在 Finder 中查看封闭文件夹,然后进入 Time Machine 来从备份中删除文件。找到文件或文件夹,右键单击/按住 Control 键单击并选择删除该备份,或删除文件的所有备份(版本)。(请参阅这个答案

查找并排除文件

我发现查找并删除备份中的文件的最佳方法是:

  1. 使用宏大视野扫描您的备份您的驱动器。如果您将主磁盘备份到名为“备份驱动器”的驱动器,则扫描Backup Drive/Backups.backupdb/Yourcomputername
  2. GrandPerspective 将向您展示磁盘使用情况的漂亮图形表示,显示备份中每个文件的每个副本,因此如果您有一个 5 GB 的巨型文件,并且更改了 5 次,您将看到 6 个大块。从您看到的最大块开始,找到这些重复犯错者。
  3. 为每一个
    1. 将其从未来的备份中排除:在“系统偏好设置”中打开“Time Machine”首选项窗格,然后单击“选项”。单击加号并导航到您的实际驱动(不是备份驱动器)
    2. 按照上述说明删除所有备份(“删除备份”)

排除什么

这个答案建议你可能想要排除一些内容。我发现使用以下方法可以排除一些更好的内容宏大视野

  • ~/.dropbox(这是哪里保管箱保留其内部数据库,如果它缓存旧文件的版本,数据库可能会变得非常庞大)
  • 有些人会排斥自己的Dropbox目录,因为它会将修订保存在其服务器上,但是为了获得额外的冗余和控制,我也让 Time Machine 这样做。
  • 你的Downloads文件夹(我的文件夹在 Dropbox 中)
  • 导入器放置您每次移动的内容的文件夹,例如轻松将 VHS 转换为 DVD转换,从我的翻转摄像机, ETC。
  • Music/Podcasts(这些占用了大量空间,而且大多数情况下,如果需要的话,我可以获得往期剧集,而且我从来不想这样做:P)
  • 〜/资源库/应用程序支持/SyncServices天哪,每次同步时都会变。我的 Time Machine 驱动器上有无数份副本
  • /Library/Updates操作系统喜欢保留自动更新软件包的副本。为什么?谁知道呢,但你不需要它们UAYOR:苹果不排除它们可能是有原因的,所以如果你这样做,完全恢复可能会更麻烦

答案2

为了找到可能太大或不必要备份的文件,我使用磁盘清单 X,一款可以扫描您当前硬盘内容的应用程序,并以直观的方式展示硬盘上的文件及其所占的空间。(我曾在 Leopard 和 Snow Leopard 中使用过)

一旦您识别出任何文件为您不想要的一堆备份:

  1. 连接你的时间机器备份驱动器
  2. 点击菜单栏中的时间机器徽标
  3. 选择“进入时间机器”
  4. 在 Time Machine 窗口中导航并选择这些文件/文件夹
  5. 点击齿轮菜单图标
  6. 选择“删除所有备份

Time Machine 将提示您输入密码并删除文件/文件夹的所有备份。然后,您可以将这些文件/文件夹排除在未来的备份之外。操作方法如下:

  1. 进入“系统偏好设置”中的“Time Machine”偏好设置窗格
  2. 点击“选项...”
  3. 添加您希望从未来备份中排除的文件/文件夹

注意:sleepimage 等文件是系统文件,请从备份中删除可以如果您需要从 Time Machine 备份中恢复系统,则会导致意外行为。sleepimage 是一个大小与计算机内存量相同的文件。实际上,我甚至不确定 Time Machine 是否会备份此文件。教训是:不要从 Time MAchine 备份中删除系统文件,仅将此方法用于您的个人文件,例如 iTunes Media 文件夹或 iPhoto 图库。此外,我会确保将我从备份中排除的文件保存在不同的硬盘上。

答案3

  1. 进入时间机器
  2. 浏览到有问题的大文件。
  3. Ctrl + 单击/右键单击它们,转到“删除所有备份...”选项。
  4. 它将需要管理员权限,升级。
  5. 对所有文件执行此操作。

现在,转到 TM 首选项,单击“选项”按钮。将文件添加到排除列表中。

答案4

创建一个 perl 脚本:下面的示例将删除所有备份(添加一些逻辑以仅删除循环内所需的备份:

@a = `tmutil listbackups`;
@a = sort(@a);
foreach $i (@a) {
print "BUP: $i \n";
chomp $i;
   #here's where you could put some logic to not delete all
  system("tmutil delete $i")
}

将其另存为something.pl。像这样运行:

sudo perl <Script>

输入您的密码,它将自动删除所有备份。

相关内容