我已经习惯了-c
rsync 的选项,它会比较文件的校验和来查看是否有更改,而不是依赖时间。不幸的是,我有几个项目不能使用 rsync,因为没有 SSH 访问服务器,必须使用 FTP。
是否有 Mac 或 *nix 客户端(我可以编译 OS X)支持这种同步选项?如果它能采用 rsync 样式排除文件来排除不应触及的内容,则可以获得加分。
我曾尝试ftpfs
使用 FUSE 和 ExpanDrive 进行安装,但它们的速度实在太慢(有时,一个相当小的项目的试运行可能需要 30 分钟)。
答案1
FTP 协议不够灵活,无法做到这一点(请参阅先前这个问题)。您需要某种方式让服务器计算文件的校验和并将其发送到客户端,以便客户端可以决定是否传输文件;而 FTP 没有这样的功能。
如果您尝试使用 ftpfs 之类的程序来执行此操作,最终会发生的情况是客户端将下载整个文件,计算其校验和,并使用它来决定是否传输文件...再次。