我正在寻找任何允许我在 Windows 下仅使用 FTP 协议模拟类似于 Dropbox 或 rsync 的功能的解决方案。
我需要的是任何一款软件(在您看来足够好),我可以定期运行它并确保source
和destination
相同:
- 双方的所有文件均复制到双方,
- 如果存在两个同名文件,则将文件的最新版本复制到两侧,
- 在一侧删除另一侧丢失的所有文件。
当然,为了成功运行,该软件必须支持对源和目标的所有子文件夹进行迭代——双方都会有一个庞大的目录结构。
我尝试过许多备份解决方案,但大多数都失败了,因为无法创建两边的精确副本,只能提供增量备份。很长一段时间以来,我一直在考虑使用 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上班。
- 下载 lftphttp://redpark.posterous.com/lftp-for-windows
- 解压到目录中
- 从命令行运行
lftp -c "open ftp://user:[email protected];your mirror ftp steps in here"
参见此复制的镜像示例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