在OS X上,规则从Time Machine备份中排除哪些文件?


67

除了我可以选择排除的任何文件外,系统还按规则或分类排除了哪些文件?

在此处输入图片说明

不备份垃圾箱或缓存可能很有意义,但是我正在寻找一种方法来告诉“幕后”跳过了哪些文件。知道系统是否维护排除列表或排除模式对管理较大的Mac组将非常有帮助。

Answers:


106

有一个内置的排除项列表存储在中/System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist。要舒适地粘贴到这里有点太长,所以我在Pastebin上发布了一个副本StdExclusions.plist(10.7.1)Pastebin上还有StdExclusions.plist(10.6.8服务器)

较明显的用户文件排除项包括“废纸rash”,本地Time Machine商店中的文档修订和MobileBackup。其余的排除是针对诸如缓存和数据库之类的系统事物而存在的,它们用于索引其他文件,在还原后系统可以在其中重新生成这些数据库。

此外,应用程序可以使用文件的元数据从备份中排除文件。您可以通过运行以下命令来查看文件列表:

sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"

在我的系统上,这将输出以下内容:

/Users/brant/Library/Calendars/Calendar Cache
/Users/brant/Music/iTunes/iTunes Music Library.xml
/Users/brant/Library/iTunes/iPod Software Updates
/Users/brant/Library/iTunes/iPad Software Updates
/Users/brant/Library/iTunes/iPhone Software Updates
/Users/brant/Pictures/iPod Photo Cache
/Volumes/Archive/brant/Pictures/iPhoto Library/iPod Photo Cache
/Volumes/Archive/brant/Pictures/iPhoto Library/AlbumData.xml
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Csd Whitelist
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Bloom
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Bloom Filter 2
/Users/brant/Library/Application Support/Google/Chrome/Safe Browsing Download
/Users/brant/Documents/Virtual Machines/Visual Studio.pvm/{ae6f7518-762e-4fcd-b166-c7a914fc237f}.mem
/Users/brant/Music/iTunes/Album Artwork/Cache
/Users/brant/Library/Saved Application State
/Users/brant/Library/Application Support/Google/Chrome/Default/History-journal
/Users/brant/Library/Application Support/Google/Chrome/Default/Favicons-journal
/Users/brant/Library/Application Support/Google/Chrome/Default/Favicons
/Users/brant/Library/Application Support/Google/Chrome/Default/History
/Users/brant/Library/Icons/WebpageIcons.db
/Users/brant/Library/Safari/WebpageIcons.db

如您所见,这里有一些应用程序告诉Time Machine不要打扰的文件。此外,在Lion上,tmutil命令允许您从命令行查询,设置和删除文件排除项:

  • tmutil isexcluded _item_ 将确定当前是否排除卷,目录或文件。
  • tmutil addexclusion _item_ 设置排除规则,以便该项目(即使移至新位置或重命名)也将从将来的备份中排除。
  • tmutil addexclusion -p _item_设置排除规则,以便排除项目路径。它保持不变,因此,如果文件移动不正确,则将对其进行备份;如果文件回到规则指定的相同位置,则也将阻止备份文件。
  • tmutil removeexclusion _item_ 删除了相应的两种排除规则。

我想为您的答案多次投票:-)
Heiko Rupp

是的,如果我能提供200点的追溯性赏金,我会的。很棒的答案。
orange80 2014年

那么如何通过命令行获取用户定义的忽略列表?
georgexsh

在我的系统,mdfind输出很多更多-包括〜/应用〜/资源库/屏幕保护程序。小心!
SilverWolf

8

默认情况下,Apple Time Machine不备份:

  • 系统日志文件
  • 聚光灯索引
  • 缓存任何类型的文件
  • 垃圾箱(或其他任何用户的垃圾箱)中的文件
  • 临时文件
  • 应用可能标记为Time Machine不备份的特定应用数据

这适用于所有带有Time Machine的Mac OS X版本。

资料来源:凯文·怀特(Kevin M. White)。苹果培训系列:Mac OS X支持Essentials v10.6。桃子出版社。


〜/ Library / Caches /和〜/ Library / Logs /从备份中排除,但它们仍在/ var / db /和/ var / log /等文件夹中包含一些缓存和日志文件。
Lri 2012年

7

您可能会发现这很有用-http://hints.macworld.com/article.php?story=20080328025026826

特别:

sudo mdfind "com_apple_backup_excludeItem = 'com.apple.backupd'"

将返回被忽略的内容。应用程序可以告诉TimeMachine忽略某些文件。


2
达斯汀(Dustin),仅作为链接的答案就不是很好的答案。当链接回答问题时,不仅要引用来源,而且要引用相关细节,这一点很重要。网站下去,网址变更等
贾森Salaz

6

快照的根文件夹还具有一个属性列表,其中包含从快照中排除的文件夹。

sudo defaults read /Volumes/Time\ Machine/Backups.backupdb/*/Latest/.exclusions.plist

我最新的快照包括StdExclusions.plistTime Machine偏好设置中的文件夹和排除的文件夹。它不包括仅具有com.apple.metadata:com_apple_backup_excludeItem扩展属性的文件或文件夹。


哇-我最好戳一下。当您将排除项重新添加到备份集中时,Mountain Lion改变了处理排除项的方式。在这种情况下,不再以增量方式备份文件夹,而是在下一次覆盖该文件的备份时对文件进行完全备份。
bmike

2

如果要检查com.apple.metadata:com_apple_backup_excludeItem特定文件/目录中扩展属性的存在,可以使用以下xattr命令:

xattr path_to_file_name

mdls命令(还将向您显示元数据属性):

mdls path_to_file_name

但是检查文件/目录是否从备份中排除的最好方法是使用tmutil,如上面建议的,因为它还会检查文件/目录是否在任何排除列表中:

tmutil isexcluded path_to_file_name
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.