automator 通过调度 macos 原生工具实现日志高效处理:提取指定时段含关键词错误、自动归档崩溃报告、统计高频异常并通知。所有导出文件须添加时间戳与来源标识。

Automator 本身不直接读取或解析日志文件,但它能高效串联 macOS 原生工具(如 log 命令)完成“提取—过滤—整理—通知”全流程。关键不是让 Automator 做分析,而是让它调度系统能力,把日志中真正关心的内容快速拎出来。
抓取指定时段含关键词的错误条目
系统日志量大,全量查看低效。用 Automator 快速聚焦异常信号:
- 新建“快速操作”,类型选“工作流”
- 添加“运行 Shell 脚本”动作,Shell 设为
/bin/zsh,输入设为“无” - 脚本内容示例:
log show --last 1h --info --debug 2>/dev/null | grep -i "panic\|error\|failed\|denied" | head -20 > ~/Desktop/errors-$(date +%H%M).txt - 保存后双击运行,或绑定快捷键,结果生成带时间戳的纯文本摘要
自动归档当日崩溃与诊断报告
崩溃文件(.crash、.panic)默认存在 ~/Library/Logs/DiagnosticReports/,手动整理易遗漏:
- 新建“文件夹操作”,监控路径设为上述 DiagnosticReports 目录
- 接“过滤 Finder 项目”,条件设为“创建日期在今天”
- 再接“移动 Finder 项目”到临时文件夹(如
~/Desktop/diag-tmp) - 加“运行 Shell 脚本”:
cd ~/Desktop/diag-tmp && zip -q "diag-$(date +%Y%m%d).zip" *.crash *.panic && rm -f *.crash *.panic - 最后加“显示通知”,提示“今日诊断包已生成”
统计高频异常并触发提醒
不依赖图形界面,也能做简易趋势判断:
- 新建“应用程序”类型工作流
- “运行 Shell 脚本”中执行:
CRASH_COUNT=$(log show --last 24h 2>/dev/null | grep -c "Faulting in CPU\|kernel panic")<br>if [ $CRASH_COUNT -gt 3 ]; then<br> osascript -e 'display notification "过去24小时CPU故障达 '"$CRASH_COUNT"'次,请检查散热或驱动" with title "系统异常提醒"'
- 可扩展为邮件发送或写入日志文件,便于后续人工复核
导出时务必加标识和时间戳
所有日志导出动作建议在文件开头写入来源和生成时间,例如:
echo "# Generated by Automator on $(date)" > /tmp/log-summary.txt<br>log show --last 30m | grep -i error >> /tmp/log-summary.txt
这样既方便回溯,也避免多个版本混淆,是轻量但不可跳过的细节。











