automator 不直接执行系统级备份还原,而是作为调度中枢串联 tmutil、rsync、diskutil 等工具:可封装 time machine 控制、构建 rsync 增量同步、联动 launchd 实现关机前自动备份、提供压缩包一键还原,全程可视化且免终端操作。

Automator 本身不直接执行系统级备份或还原(比如整机镜像、恢复分区),但它能高效串联 macOS 原生工具(tmutil、rsync、diskutil)和系统机制(launchd、日历、快捷指令),构建出稳定、可触发、带反馈的备份还原工作流。关键不是让它“替代Time Machine”,而是让它成为你备份策略的调度中枢和操作入口。
用 Automator 封装 Time Machine 备份控制
Time Machine 是 macOS 官方系统备份方案,Automator 可以安全调用其命令行接口,实现一键启动、暂停、验证与清理:
- 新建“快速操作”,添加“运行 Shell 脚本”,输入:
tmutil startbackup --auto(后台静默启动)或tmutil verifychecksums /Volumes/YourBackupDrive(校验备份完整性) - 配合“暂停”动作(如设为10秒),确保备份有足够初始化时间,再弹出通知提示
- 添加
osascript -e 'display notification "Time Machine 备份已启动" with title "系统备份"',让过程可见但不打断当前工作 - 保存后,可在访达右键菜单、快捷指令或键盘热键中调用,无需打开Time Machine偏好设置
构建 rsync 增量同步还原工作流
对特定文件夹(如 ~/Documents、~/Desktop)做轻量级、跨设备、可逆向还原的同步,比全盘备份更灵活:
- 在 Automator 中创建“应用程序”类型文稿,添加“运行 Shell 脚本”,使用
/usr/bin/rsync命令,例如:rsync -av --delete --exclude=".DS_Store" "/Volumes/BackupDrive/Documents/" "$HOME/Documents/" - 务必加入路径存在性检查:
if [ ! -d "/Volumes/BackupDrive" ]; then osascript -e 'display notification "备份盘未连接" with title "还原失败"'; exit 1; fi - 添加“显示通知”动作或终端日志输出,还原完成后提示“文档文件夹已从备份恢复 ✅”
- 保存为 App 后,双击即可执行还原;也可绑定到快捷键或通过快捷指令调用
联动 launchd 实现关机前自动备份
避免因忘记手动备份导致数据丢失,让系统在关机信号发出时自动触发一次完整备份:
- 先用 Automator 创建一个“工作流”文稿,仅含一个“运行 Shell 脚本”动作:
tmutil startbackup --auto && sleep 15 - 保存至
~/Library/Workflows/,命名为PreShutdownBackup.workflow - 再配合 launchd plist 文件监听
com.apple.loginwindow.shutdownInitiated信号,调用该 workflow 或直接运行 tmutil 命令 - 此方式绕过图形界面限制,即使在锁屏或无用户登录状态下也能响应关机请求
还原流程可视化:从备份包一键解压回原位
如果你习惯用 Automator 打包历史文件(如每月归档 ~/Downloads),还原时也应同样便捷:
- 创建“快速操作”,接收 .zip 或 .tar.gz 文件作为输入
- 用“运行 Shell 脚本”判断扩展名并解压:
if [[ "$1" == *.zip ]]; then unzip -o "$1" -d "$(dirname "$1")"; else tar -xzf "$1" -C "$(dirname "$1")"; fi - 添加“移动 Finder 项目”动作,将解压后的内容移入目标文件夹(如 ~/Documents/Archive_Restore)
- 右键点击任意备份压缩包 → “服务”→“还原到归档目录”,全程无终端干扰











