如果您经常在Mac和FTP服务器之间传输文件,您可能曾经想过:肯定有比每次手动操作更好的方法。确实有。但并非每种方法都同样有效:有些方法制造的问题比解决的还多。
手动传输的问题
手动FTP传输意味着每次都要打开客户端、连接、导航到正确的文件夹、选择文件、等待、关闭。每次都要如此。错过一次传输,文件就会堆积。太早操作会抓取到半写的文件。凭记忆操作会导致无法追踪哪些已发送。
对于经常移动文件的人:向机构交付作品的摄影师、与合作伙伴同步的企业、分发素材的团队:这每周会累积成数小时的重复性工作。不产生任何价值的工作。应该由机器完成的工作。
为什么常见方法不够用
第一反应通常是编写脚本。脚本可以自动化FTP操作,而且能用:直到某些东西发生变化。凭证轮换、服务器迁移、网络问题。脚本会静默失败。出错时没有通知,没有人在查看的日志,除非自己编写否则没有重试逻辑。维护脚本需要持续的开发时间。对于非技术用户,这根本不是选项。
通用同步工具将FTP视为众多后端之一。结果是专为复杂同步任务设计的工具:对于多云配置很强大,但对于"监控此FTP文件夹并下载新文件"这样简单的工作流来说过于复杂和笨重。
Automator等macOS内置工具没有原生FTP支持。通过Automator实现的任何FTP自动化最终还是需要shell脚本。
正确解决方案的样子
在Mac上做好FTP传输自动化需要一些看起来容易实际很难的东西:
- 事件驱动检测,而非轮询。监控本地文件夹以上传文件应使用macOS原生文件系统通知API FSEvents,实现亚秒级检测。脚本和通用工具做不到这点。
- 文件稳定性检查。上传仍在写入的文件会产生损坏的传输。正确的工具会等到文件停止变化后再处理。
- 原生Mac反馈。传输完成或失败时的macOS通知。实时活动日志。菜单栏中的可视状态。
- 零持续维护。配置一次,无限期在后台运行,无需干预。
- 凭证安全。密码存储在macOS钥匙串中:不存在配置文件里,不以明文保存。
FTPull + FTPush:正是为此而生
FTPull和FTPush是两个独立的Mac应用,各自处理FTP自动化的一个方向。FTPull监控远程FTP、SFTP或FTPS服务器并自动下载新文件。FTPush监控本地文件夹,文件一出现就自动上传。
两者都常驻菜单栏,空闲时CPU占用几乎为零。两者都使用macOS钥匙串存储凭证。两者都配置一次然后放手不管。
设计理念是刻意的:一个工具,一项工作,做好。不是带FTP附件的瑞士军刀。不是需要维护的脚本。是一个在后台静静运行、传输文件、完成后告知你的应用。
FTPull + FTPush带给您的
- FTPull:从任何FTP/SFTP/FTPS服务器自动下载,可配置轮询间隔,扩展名过滤,定时调度,递归文件夹监控,传输历史
- FTPush:通过FSEvents实现即时本地检测,文件稳定性检查器,并发上传,上传后操作(归档、删除、运行脚本),带宽限制,Finder标签
- 两者:多个同时连接,macOS通知,实时日志,无需信用卡的14天免费试用
如果您经常在Mac和FTP服务器之间移动文件,这就是彻底消除这项工作的配置。配置一次,永远忘掉。
