保持FTP文件夹与Windows文件夹同步


8

我正在尝试让我的持续集成系统在开发环境中从头到尾工作。

不幸的是,发布后的最后一步是将文件夹复制到我只能通过FTP访问的离线服务器。

我希望运行一个服务来监视本地文件夹,如果它发生更改,则使用这些更改来更新FTP服务器。

我似乎无法在Windows中找到完成此任务的东西。


同时,另见“SFTP作为Vista上的文件夹” superuser.com/questions/55860/sftp-as-a-folder-on-vista
Arjan

Answers:



5

试试免费软件版本 SyncBack 。它不会进行实时文件夹监视,但您可以将其安排为按指定的时间间隔进行同步。将它设置为低至1分钟。


如果我能找到它,我更喜欢实时监控。我想我可以写它,我只是有更好的事情要做。
CaffGeek

1
我一直在寻找一个项目来重新编程一段时间。这听起来很合适。我在周末玩过INotify和JNotify,这是相当微不足道的。在接下来的几周内你会看到我的一些同步软件:)
John T

2

基于git的免费开源解决方案:

使用 GIT-FTP 用于同步。安装并设置本地git存储库后,您可以执行以下操作:

  • git ftp init -u<使用者名称> -P f tp://host.example.com/public_html#是第一次推送
  • git ftp push --user<使用者名称> --passwd<密码> ˚FTP://host.example.com/public_html

现在,您只需要查看文件系统更改,将它们添加到本地git存储库并使用上述命令推送存储库。

好处:

  • git-ftp适用于windows和linux(在windows上使用msys git进行测试)
  • 如果您已经在使用git,那么很好地集成到您的开发设置中
  • 很容易设置和使用(如果你熟悉git)
  • 增量变化 - >节省了大量带宽

缺点:

  • 你需要找到一个解决方案来监视文件系统的变化(不应该太难做,例如nodejs有解决方案)

这是我在Windows上使用的批处理文件的示例:

@echo off
git init .
git add . --all
git commit -am "auto commit"
set /p pwd= Please enter ftp password: 
git ftp push --user myftpuser --passwd %pwd% ftp://myftphost.com/myfolder

请注意,这是一个交互式示例,但您可以通过将密码存储在批处理文件中来使其不可交互。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.