automator 无法直接实现双向同步,需通过调用 rsync 实现单向同步;可结合 folder action 或 launchd 实现自动触发,但需谨慎配置以避免误删,并推荐 syncthing 或 freefilesync 应对更复杂需求。

Automator 本身不直接支持“双向同步”或智能增量同步,它更适合触发简单、线性的文件操作。若想用 Automator 实现本地文件夹同步,核心思路是:借助 shell 脚本(如 rsync)完成实际同步逻辑,再用 Automator 封装为图形化、可一键触发或自动运行的工作流。
用 Automator 调用 rsync 实现单向同步
这是最稳定实用的方式。rsync 能精准比对时间戳与大小,只传输变更内容,支持排除规则和删除冗余项。
- 在 Automator 中新建“快速操作”或“应用程序”,选择“运行 Shell 脚本”操作
- Shell 设为
/bin/zsh或/bin/bash,传入参数设为“文件或文件夹”(用于指定源路径) - 脚本内容示例(同步到固定目标文件夹):
src="$1" dst="/Users/you/SyncedBackup" <h1>确保目标存在</h1><p>mkdir -p "$dst"</p><h1>单向同步:保留 dst 中新增文件(--ignore-existing),不删除 dst 多余文件</h1><p>rsync -av --ignore-existing "$src/" "$dst/"</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/ai/894" title="万知"><img src="https://img.php.cn/upload/ai_manual/001/503/042/68b6d43c511e8878.png" alt="万知" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/ai/894" title="万知" class="overflowclass">万知</a> <p class="overflowclass">万知是一款由零一万物推出的一站式 AI 文档阅读、写作和 PPT 创作工作台。</p> </div> <a rel="nofollow" href="/ai/894" title="万知" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div><h1>或启用删除模式(慎用):移除 dst 中 src 已删除的文件</h1><h1>rsync -av --delete "$src/" "$dst/"</h1>
监听文件夹变化并自动触发同步
Automator 无法原生监听文件变动,需配合 macOS 的 Folder Action 或 fswatch + launchd。
- 为源文件夹启用“文件夹操作”:右键文件夹 → “配置文件夹操作”,选择一个 Automator 保存的 .workflow 文件
- 该 workflow 内仍需包含上述 rsync 脚本,并将输入设为“文件夹”(Automator 会自动传入被监视的文件夹路径)
- 注意:Folder Action 只在 Finder 中有动作时触发(如拖入、保存、重命名),不监控后台写入(如代码编辑器自动保存)
避免覆盖误删的关键控制点
同步逻辑必须明确方向性与安全性,尤其防止反向覆盖或静默删除。
- 默认使用
--ignore-existing或--update,跳过目标中已存在且更新的文件 - 禁用
--delete除非你完全信任源为唯一权威,且定期备份目标目录 - 首次运行前手动校验源/目标结构;可在 rsync 后加
echo "Sync done: $(date)" >> ~/sync.log记录日志 - 测试阶段建议先加
--dry-run参数,查看将执行哪些操作,确认无误再移除
替代方案:更可靠的轻量级同步工具
如果需求变复杂(如双向、冲突检测、版本保留),Automator + rsync 会迅速力不从心。
- Syncthing:开源、跨平台、实时双向同步,带 Web 界面和冲突文件保留机制
- FreeFileSync:macOS 免费 GUI 工具,可视化对比、支持镜像/更新/双向模式,可导出为命令行脚本供 Automator 调用
-
定时任务补充:用
launchd定期运行 rsync 脚本,比依赖用户手动点击或 Finder 动作更可靠










