macOS快捷指令可通过封装rsync脚本实现代码库自动化备份:编写含锁机制、路径校验、通知提示及排除规则的Shell脚本,再以“运行Shell脚本”动作调用,支持手动快捷键、定时或事件触发,并需授权完全磁盘访问。
用 macos 快捷指令实现代码库项目的自动化备份,核心是把 rsync 增量同步能力封装进快捷指令,并通过触发机制(手动、定时或事件)稳定执行。它不依赖第三方 app,全程使用系统原生工具,兼顾安全、可控与低维护成本。
编写可复用的备份 Shell 脚本
快捷指令本身不直接运行复杂逻辑,需先准备一个健壮的备份脚本,保存为 ~/backup-repo.sh:
- 以
#!/bin/bash开头,确保调用系统 bash - 定义源路径(如
~/Projects/my-app)和目标路径(如/Volumes/BackupDrive/Repos/my-app),注意末尾斜杠 - 加入锁文件检查(
/tmp/repo_backup.lock)和 trap 清理,防止重复运行 - 用
test -d验证源目录存在、目标卷已挂载,失败时调用osascript -e 'display notification...'提示 - 执行
/usr/bin/rsync -a --delete --exclude=".git/objects/pack" --exclude="node_modules" "$SOURCE/" "$DEST/",跳过 Git 对象包和依赖目录,加快速度
在快捷指令中调用并封装
打开“快捷指令”App → 新建快捷指令 → 添加“运行 Shell 脚本”动作:
- 脚本内容填:
sh ~/backup-repo.sh(不建议直接粘贴长命令,便于后续调试和复用) - 勾选“在后台运行”,避免终端窗口弹出
- 点击右上角“…”→“详细信息”→关闭“运行前询问”
- 顶部点击“添加快捷键”,设置全局组合键(如 Ctrl+Opt+B)
配置自动化触发(按需启用)
若需免操作执行,可在“自动化”标签页创建个人自动化:
- 触发器选“特定时间”(如每天 23:00)或“到达某位置”(如连接公司 Wi-Fi 后)
- 添加动作:“运行快捷指令”→选择你刚建好的备份指令
- 务必关闭“运行前询问”,否则会中断流程
- 首次运行时,系统会提示授予“完全磁盘访问权限”,需在“系统设置 > 隐私与安全性 > 完全磁盘访问”中勾选“快捷指令”
验证与日常维护要点
备份不是设完就完事,需定期确认有效性:
- 首次运行后,检查目标路径是否生成新文件夹、修改时间是否更新
- 手动删掉目标中某个小文件,再次触发备份,确认它被自动恢复
- 每月一次,用 Finder 进入备份路径,打开 .git 目录,执行
git status(需终端临时允许)验证 Git 仓库完整性 - 脚本中的排除项(如
node_modules)应随项目变化动态调整,避免误删或冗余同步


















