使用 FTP 复制两个完全相同的文件夹

使用 FTP 复制两个完全相同的文件夹

我正在寻找任何允许我在 Windows 下仅使用 FTP 协议模拟类似于 Dropbox 或 rsync 的功能的解决方案。

我需要的是任何一款软件(在您看来足够好),我可以定期运行它并确保sourcedestination相同:

  • 双方的所有文件均复制到双方,
  • 如果存在两个同名文件,则将文件的最新版本复制到两侧,
  • 在一侧删除另一侧丢失的所有文件。

当然,为了成功运行,该软件必须支持对源和目标的所有子文件夹进行迭代——双方都会有一个庞大的目录结构。

我尝试过许多备份解决方案,但大多数都失败了,因为无法创建两边的精确副本,只能提供增量备份。很长一段时间以来,我一直在考虑使用 Cobian Backup,但要么我无法正确配置它,要么它在源上重新创建目标时完全失败(即仅提供单向备份,没有任何方法可以拥有两个精确的副本)。

有人建议我使用 Unison 并好好尝试一下。这看起来确实不错,但它使用 SSH。我在从我的 Windows 计算机到其中一个目的地建立 SSH 时遇到了真正的麻烦(cygwin 端口多次失败),除此之外,我的一个目的地根本不支持 SSH——即 FTP 访问是唯一可用的方法。

对我来说,完美的解决方案是可以像这样运行(命令行或配置):

something.exe path/to/local/folder ftp://user:[email protected]/path/to/folder

如果它确实存在的话……

答案1

我找到了 Windows 版本的lftp上班。

参见此复制的镜像示例serverfault 答案

lftp -c "set ftp:list-options -a;
open ftp://user:[email protected]; 
lcd ./web;
cd /web/public_html;
mirror --reverse --delete --use-cache --verbose --allow-chown  
--allow-suid --no-umask --parallel=2 --exclude-glob .svn"

由于某种原因,多行无法在我的 Windows 7 cmd.exe 上运行,必须将其改为单行才能正确执行。

有关镜像选项的更多信息,请lftp.exe从命令行启动并输入mirror help

相关内容