查找将由Time Machine备份的文件


7

查看Time Machine将备份的内容非常有用 之前 实际上发生了备份。我相信应该可以用这个来近似 mdfind。是否有标准的搜索查询来实现这一目标?或者直接询问Time Machine的方法?


好多了! :)扭转了我的downvote。祝好运!
studiohack

Answers:


9

在OS X 10.7(Lion)中,您可以使用 tmutil。要将机器的当前状态与最新备份进行比较,只需使用命令,

tmutil compare

但是你可能想要将输出重定向到一个文件,因为它可能有很多。您可以将比较限制为某些类型的差异(例如,文件大小,文件权限)。它做得更多,但我无法更简洁地描述细节 tmutil 手册页本身:

compare [-@esmugtdrvEX] [-D depth] [snapshot_path | path1 path2]
       Perform a backup diff.

       If no arguments are provided, tmutil will compare the computer to
       the latest snapshot. If a snapshot path is provided as the sole
       argument, tmutil will compare the computer to the specified snap-
       shot. If two path arguments are provided, tmutil will compare
       those two items to each other.  tmutil will attempt to inform you
       when you have asked it to do something that doesn't make sense or
       isn't supported.

       The compare verb allows you to specify what properties to com-
       pare. If you specify no property options, it is assumed that you
       want to compare a basic set of metadata. This default property
       set is equivalent to the -smugt option set. Specifying any prop-
       erty option overrides the default set.

       Options:
           -a    compare all suppored metadata
           -@    compare extended attributes
           -e    compare ACLs
           -s    compare sizes
           -m    compare file modes
           -u    compare UIDs
           -g    compare GIDs
           -t    compare modification times
           -d    compare file data forks
           -r    ignore specified root paths and compare descendents
                 instead
           -D    limit traversal depth to depth levels from the begin-
                 ning of iteration
           -E    don't take exclusions into account when comparing items
                 inside volumes
           -v    enable verbose mode (enables reporting of all identical
                 items, which is noisy)
           -X    print output in XML property list format

5

其他答案提到 tmutil compare 是请求OS X模拟下一个备份事件并检查自上次备份以来哪些文件和/或元数据已更改的规范方法。但是,有一个非常有用的二进制文件叫做 tmdiagnose 我在SuperUser上似乎没有提到过这个问题,它用于诊断Time Machine的问题,它还会让您了解下一个备份的配置,系统排除路径,用户排除路径以及规则的详细信息。用于所有先前的备份和快照事件。

看看里面 hostname -s两个.tmdiagnostic.zip文件 configuration.txt 以及 exclusions.plist 文本文件,用于确定排除哪些文件和路径。


3

我也有同样的问题。由于似乎没有确切的答案,让我提出这个建议:

  1. 允许Time Machine进行备份。
  2. 使用它来查看它内部 BackupLoupe 看看备份了什么。
  3. 如果您对此不满意,请调整排除项。
  4. 如果要删除快照,请安装 sparsebundle 单击文件,然后浏览到您不想要的快照并将其删除。

BackupLoupe

enter image description here

排除

enter image description here


1

像这样的东西可以作为一个起点

mdfind "kMDItemContentModificationDate >= '\$time.iso($(cat /Private/var/db/.TimeMachine.Results.plist | grep "BACKUP_COMPLETED_DATE" -A1 | grep "<date>" | cut -d">" -f2 | cut -d"<" -f1))'"

可能必须添加其他元信息查询忽略目录,特殊文件等...

这里记录了kMD *键: http://developer.apple.com/library/mac/#documentation/Carbon/Reference/MetadataAttributesRef/Reference/CommonAttrs.html#//apple_ref/doc/uid/TP40001694-SW1


1

如果您知道上次备份运行的时间,则可以列出之后更改的文件:

例如,要查找中的所有文件 /folder.doc 作为不到两天前修改的扩展名:

find /folder -iname "*.doc" -mtime -2

0

1:从Time Machine备份卷上的文件夹名称解析上次备份时间。如果可能,请使用“最新”链接指向的链接。解雇那些扩展名为“.progress”的人(现在不在Mac上,所以我可能会稍微离开)

2和3:如果可能,阅读属性列表并将它们用作排除文件,或者只是从这些路径和“grep -v $ excluded”创建正则表达式。

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.