如何在 MacOS Sierra 中查看时间机器日志?

Arn*_*ein 54 backup logging time-machine macos

在以前版本的 OSX 中,我能够查看过去 Time Machine 备份作业的结果,因此:

sudo syslog -F '$Time $Message' -k Sender com.apple.backupd
Run Code Online (Sandbox Code Playgroud)

现在syslog不再是操作系统的一部分。它已被“日志”取代。

我无法使用“日志”找到有关时间机器作业的信息。我也无法使用(新版本的)控制台。

有什么建议?

小智 70

macOS Sierra 使用统一日志记录(内存和数据存储;不再有文本文件)。

但是,使用该log(1)实用程序,您可以查看、过滤、操作等日志。请参阅man log,这里有几个特定于 TimeMachine 的示例:

流式传输日志,实时(如tail):

log stream --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info

不要流式传输,只显示日志并退出:

log show --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info


Jim*_*ell 37

我有一个类似的问题。我写了这个 shell 脚本来显示日志中最近 12 小时的 Time Machine 活动,然后继续实时跟踪日志。

我叫它 tm-log

#!/bin/sh

filter='processImagePath contains "backupd" and subsystem beginswith "com.apple.TimeMachine"'

# show the last 12 hours
start="$(date -j -v-12H +'%Y-%m-%d %H:%M:%S')"

echo ""
echo "[History (from $start)]"
echo ""

log show --style syslog --info --start "$start" --predicate "$filter"

echo ""
echo "[Following]"
echo ""

log stream --style syslog --info --predicate "$filter"
Run Code Online (Sandbox Code Playgroud)

  • `log` 需要一个 `--last` 参数,它可以比计算 `--start` 更简单(例如 `--last 12h` 显示过去 12 小时) (8认同)

小智 11

对于那些在 GUI 控制台应用程序中寻找 Time Machine 消息实时视图的人,请在操作菜单中启用“包括信息消息”。

然后将显示有用的 Time Machine 状态消息,并且可以使用类似 的搜索进行过滤Category:TMLogInfo

看起来log(1)需要查看历史记录,因为控制台在打开之前没有显示任何内容。