高效,简单的“懒”差分FTP上传工具? (即为Web开发工作stream程)

我正在寻找(一段时间以来,有些绝望)的工具,我想大多数web开发者需要:

一个快速,“懒惰”又名“差分”FTP上传工具。 要快速上传(没有多less服务器端检查)从我的开发人员(客户端)到我的networking服务器很less更改的文件。 在Windows下。 最好是可编写脚本的,所以优选命令行可执行文件(或jar)。

如果恕我直言是一个共同的需要,但我还没有发现任何令人信服的:

  • 99%的时间(超过最初的下载)我只想推送很less更改的文件(但尽快)

  • 是的,我知道:FAT文件系统有时间精度问题,客户端与服务器可能有顶时区问题…迭代服务器端检查时间戳(不足),时间戳,校验和(昂贵),当然都需要时间。 => 我将是足够的和最有效的,纯粹在客户端跟踪更改 (读取:维护目录树的校验和列表)。 因为我从一个客户端正确地上传到一个服务器。 因此,不应该把“被蒙上眼睛的”懒惰的差别模式作为最好的解决scheme,而且还需要更多的时间呢? (2秒对15秒对我来说意味着这个世界)。

  • 我宁愿SFTP有一个稍高的安全级别。 但是,我的(廉价)networking托pipe只允许密码authentication(如正常的FTP),而不是私钥authentication(所以除了使其更复杂,腻子等不是一个选项,如果我理解正确…)

  • 我宁愿避免必须处理一个单独的SSL工具,腻子,CygWin …一个单一的.exe(或.jar)被调用所需的参数将是niiiiice,所以可以弥补他的upload_clientA.bat并停止考虑此事…

  • 排除是必要的。 从上传(即psd's)中排除的几个文件夹/文件,还有服务器上的一些文件(configuration文件不会被我的开发configuration覆盖)必须不受客户端更改的影响。 这就是我所需要的。

松散地说,这可以归结为:

 foo.exe upload -s:d:\depot\webroot -t:ftp.mywebhost.com:1234/www/ -mode:sftp -u:me -P:youwish -lazyMode -exclude /wp-config.php /cache/* /someElse 

看着…

  • 现在,我正在使用一个比较老的程序fsync ,它非常接近,但是它没有SFTP。 实际FTP上传还需要5-15秒钟。
  • 是的,我听说过好的旧的linux / unix工具rsync,但我不确定是否能满足所有这些。 听起来像我需要事先build立SSL层,进入Cygwin …
  • SyncBack可能会做这项工作,除了获得SFPT意味着购买专业版。 据我所知,并没有快速的“蒙眼模式”。 我不知道如何除目标端选定的(configuration)文件…
    • 被允许在服务器上安装git可能是一个胜利者…但是…不是一个机会…

有人知道一个简单,快速的命令行工具吗?

Cygwin将允许你运行一个SSH服务器,反过来你会得到SFTP。

我想你想要sitecopy 。 它具有您提到的所有function,并通过FTP或SFTP工作。

sitecopy是一个Unix应用程序,所以我不知道它是否会满足您的要求,“不必处理Cygwin”。 对于Windows客户端,您可以在Cygwin中构build它,并将其与任何所需的DLL分发到一个包中。

你可以很容易地通过SSH操作rsync。 rsync可以获得差异化的和懒惰的复制,并且ssh可以用于你的安全传输 – 我相当有信心,这两个版本都可以工作。 rsync + ssh是一个非常广泛使用的组合,但我得到的印象齐声http://www.cis.upenn.edu/~bcpierce/unison/可能只是适合你的情况好一点。

祝你好运!