我有一个构build脚本,使用标准的Windows Ftp.exe来每天晚上在全球范围内传输大文件。 它需要年龄!
Filezilla速度要快得多,但它似乎不是很有脚本的。
有什么build议么?
你可以使用NcFtp它可以运行在Windows中。 它实现了与脚本一起工作的NcFtpPut和NcFtpGet。
在你的最后安装cygwin是一个select吗? 那么你应该可以在Windows中使用bash和(可脚本化的)unix FTP客户端。
任何机会,你可以使用scp而不是ftp? 我已经在PuTTY中使用了pscp utiltly,发现它很漂亮。 腻子还包括一个sftp客户端,fwiw。
如果成熟的Cygwin不是一个选项,你可以尝试Windows版本的cURL 。
WinSCP同时执行sFTP和FTP。
脚本很容易和有据可查
您可能还想从K2SXS尝试Script2Cloud。
它支持四种面向对象的脚本语言(C ++,JavaScript,Pascal,Basic),支持多种文件传输协议,包括FTP(S),SFTP,WebDAV,以及一些云计算协议,如Azure和S3。
这是网页: http : //www.k2sxs.com/script2cloud/
听起来像一个Linux狂热者的风险,你可以切换到rsync? 或者如果你的Windows倾向于robocopy?
我没有经验,但ScriptFTP可能会完成这项工作。
你可以使用powershell:
$File = "C:\foofile.zip" $ftp = "ftp://username:[email protected]/upload/incoming/newfile.zip" "ftp url: $ftp" $webclient = New-Object System.Net.WebClient $uri = New-Object System.Uri($ftp) "Uploading $File..." $webclient.UploadFile($uri, $File)
CoreFTP有一个脚本模块。 我们已经使用它取得了一些成功。 不是很好,但很多好的。 我第二个cygwin的想法。 我在我的所有服务器上运行cygwin(很大程度上是由于我个人对尾部的依赖)。
http://support.microsoft.com/kb/96269有关于脚本FTP在Windows中的一些说明。
为Windows构build的Wget(skpping cygwin.dll) http://pages.interlog.com/~tcharron/wgetwin.html
沟渠FTP和使用Rsync( DeltaCopy)只复制更改的文件。 如果DeltaCopy没有做你所需要的 – Cygwin + Rsync + Bash会。
在使用更复杂的FTP操作之前,我还使用了Perl的ActiveState Perl和一个FTP库。
基本的FTP.exe是相当稳定的,首先要问的是,
你为什么从这个FTP上performance不好?
你正在比较它与FileZilla的性能。
我可以想象,只有两件事情可以超越FTP文件传输的基本FTP性能。
我一直无法find可以被告知执行多部分下载的命令行(脚本)的客户端。 也许,如果在这里回答的人同意这些想法,他们可能会提出一个合适的参考。
我总是发现NcFTP对于大多数目的来说都是好的,并且期待着在那里提供这种支持。 对NcFTP的so-bufsize控制可能有助于上面的第二点。
我在这个过程中发现了一个ActiveState Python脚本,
但是,不知道如何才能达到你的目的。
参考: 通过REST进行multithreadingFTP下载
奇怪的是,对这个脚本的讨论说FileZilla没有给出足够的性能!
我们需要加快从客户端的FTP站点下载。 由于某种原因,通常下载时(FileZilla)只能达到21 KB / s左右。 使用这个,如果我能打开10个连接,我能够以5个连接和200KB / s的速度获得100KB / s。
目前,这一次只能下载一个文件。 对于下载多个文件还没有有太多的想法,因为它符合我们目前的要求。
你可能想尝试wput 。