你想停止手动做 FTP 传输。无论是从 Mac 上传到服务器,还是从服务器下载到 Mac,都应该自动完成,不需要每次亲自操作。在 macOS 上实现这一点有几种方式——有的免费,有的需要技术背景,有的直接就能用。

以下是 2026 年所有可用方案的诚实对比。我们会分析每种方案的优势、局限,以及适合哪类用户。

方案一:Shell 脚本(lftp/curl + cron 或 launchd)

方案 01

Shell 脚本配合 cron 或 launchd

lftpcurl 在脚本里处理 FTP 操作,然后通过 cron(简单)或 launchd(更可靠,macOS 原生)定时运行。用 lftp 做镜像同步的基本写法:

#!/bin/bash
# 将远程 FTP 文件夹同步到本地 — 通过 cron 每 5 分钟运行一次
lftp -u "$FTP_USER","$FTP_PASS" sftp://ftp.example.com << EOF
mirror --only-newer /remote/incoming/ /Users/you/Downloads/incoming/
quit
EOF

优点:免费,除 lftp 外无其他依赖,灵活性高——可以串联其他命令、发邮件、触发脚本。可在服务器上无界面运行。对行为有完全控制权。

缺点:需要熟悉终端、Shell 脚本和 cron 语法。出错不提醒——密码改了、服务器迁移了、网络抖动,脚本只是把错误写进没人看的日志。没有 macOS 通知。冲突处理逻辑需要自己写。在脚本里安全存储凭据需要额外工作。Apple 多年前已推荐用 launchd 替代 cron,但正确配置 launchd plist 更复杂。

适合:偏好命令行的开发者、服务器端自动化、Mac 作为无界面服务器运行的场景。

方案二:Automator 和文件夹操作

方案 02

Automator / 文件夹操作

macOS 自带 Automator(可视化工作流构建器)和文件夹操作(本地文件夹有文件加入时触发)。乍看很适合 FTP 自动化。

实际上,Automator 没有内置的 FTP 动作。用 Automator 做 FTP 自动化必须用"运行 Shell 脚本"动作——绕了一圈还是要写脚本,只是加了一层 GUI 的复杂度,没有增加任何能力。

优点:所有 Mac 预装,无需额外软件,有可视化界面。

缺点:没有原生 FTP 支持——最终还是要在 Automator 里写脚本。Automator 工作流脆弱,错误处理很差。Apple 多年来一直在弱化 Automator(快捷指令是继任者,但同样没有 FTP 支持)。文件夹操作只响应本地文件夹变化,无法监控远程 FTP 文件夹。

适合:Mac 上的简单本地文件操作。对 FTP 自动化实际上没有用武之地。

方案三:通用同步工具

方案 03

通用同步工具

市面上一些同步工具支持 FTP 作为众多后端之一,同时还支持云存储、NAS 等。它们围绕双向同步任务的概念设计。

优点:一个工具处理多种存储类型,支持双向同步和冲突解决。

缺点:为通用同步而生,不是轻量 FTP 自动化工具。界面围绕同步任务设计,而非事件驱动的监控。远程文件夹仍是轮询方式,不是即时响应。资源占用较多。UI 复杂度反映了其广泛定位,对"监控这个 FTP 文件夹、有新文件就下载"这个简单需求来说过于臃肿。

方案四:Mac 专用应用(FTPull + FTPush)

方案 04

FTPull + FTPush——专为 Mac FTP 自动化打造

FTPull 和 FTPush 是两个独立的 Mac 应用,各自专注一件事:FTPull 监控远程 FTP 文件夹并自动下载新文件;FTPush 监控本地文件夹并自动上传新文件。

两者都是专为 macOS 开发,不是跨平台工具的移植版。全面使用 macOS 原生 API:

与其他方案的主要区别:

横向对比

方案 配置难度 通知 Mac 原生界面 FTP/SFTP/FTPS 维护成本
Shell 脚本 + cron 有(lftp)
Automator 基础 部分 无(仅脚本)
通用同步工具 部分
FTPull + FTPush 有(完整) 有(原生) 有(原生)

Mac FTP 自动化真正重要的是什么

选择时的核心考量

  • 即时检测:FSEvents 监控让 FTPush 在不到一秒内检测到新文件——不需要等下一个轮询周期
  • 零维护:没有要更新的脚本,没有要修的 cron 任务,没有要编辑的配置文件
  • 原生反馈:macOS 通知、Finder 标签、实时日志——而不是需要手动打开的文本文件
  • 持续运行:配置一次,在菜单栏永久运行

FTPull 和 FTPush 专注于一个工作流——在 Mac 上自动化 FTP/SFTP/FTPS 传输——并把它做到位。没有要配置的同步逻辑,没有云存储后端,没有跨平台妥协。就是:监控这个文件夹,传输新文件,完成后告诉我。