必须用tmutil excluded命令查看完整排除列表,它显示所有生效路径(含手动添加、系统默认及工具写入项),其中[x]表示启用;过滤手动添加项需用tmutil excluded | grep -v "^/" | grep -v "^\[";time machine不支持通配符如*.log。

在Mac上排查Time Machine备份异常或确认敏感文件是否已被正确排除时,必须直接读取系统维护的排除列表,不能依赖图形界面显示——因为“系统偏好设置→时间机器→选项”只展示部分手动添加项,不包含系统自动排除路径和通过命令行添加的条目。
用tmutil命令查看完整排除列表
打开终端(可按 Command + 空格 搜索“终端”并回车),输入以下命令:
tmutil excluded
该命令会立即输出当前生效的所有排除路径,包括:用户手动添加的路径、系统默认排除的缓存与临时目录(如~/Library/Caches)、以及通过其他工具(如BackupLoupe)写入的规则。输出中每行开头带[X]表示已启用排除,[ ]表示被禁用但保留在列表中。
过滤出用户手动添加的排除项
系统默认排除项较多,容易干扰判断。若只想看你自己加进去的路径,执行:
tmutil excluded | grep -v "^/" | grep -v "^\["
这行命令先剔除以斜杠开头的绝对系统路径(如/Applications/.DS_Store),再过滤掉状态标记行,剩下的是你通过“时间机器选项”窗口点击“+”添加的相对路径(如Documents/SecretProjects)。注意:如果某条路径显示为~/Downloads,说明它是在用户主目录下添加的,实际生效路径是/Users/你的用户名/Downloads。
检查排除列表是否包含隐藏文件或特定扩展名
方法一:查看是否排除了整个隐藏目录
运行 tmutil excluded | grep "^\.",检查是否有类似 .git 或 .vscode 的行。Time Machine默认不递归排除子目录下的隐藏项,除非你显式添加了该目录本身。
方法二:确认通配符排除是否生效
Time Machine不支持*.log这类通配符语法。如果你曾试图用tmutil addexclusion -p "*.log",该路径会被当作字面意义的文件名处理,不会匹配任何真实日志文件——【通配符在Time Machine排除机制中完全无效】。











