sftp文件大小限制

如果我尝试下载一个20 MB的文件,当传输的数据大于4 MB时,它在20%停止,似乎有一个从命令行传输sftp的文件大小限制:

/myfile.xml 22% 4480KB 410.4KB/s 00:38 ETA 

有什么地方有限制,你怎么能改变它? 我用期望的脚本sftp连接 。 通过Nautilus文件pipe理器或sftp从控制台下载文件没有shell脚本,并期望程序似乎工作。 脚本如下:

 #!/usr/bin/expect # usage: ./sftp_import.sh username host password filepath localpath set username [lindex $argv 0] set host [lindex $argv 1] set password [lindex $argv 2] set filepath [lindex $argv 3] set localpath [lindex $argv 4] spawn sftp $username@$host expect "password:" send "$password\r"; expect "sftp>" send "get $filepath $localpath\r" expect "sftp>" send "bye \r"; exit 0 

默认情况下没有限制(据我所知)。

我想你会得到丢包和超时。 我会尝试添加-P。

-P sftp_server_path Connect directly to a local sftp server (rather than via ssh(1)). This option may be useful in debugging the client and server.

资料来源: http : //www.cl.cam.ac.uk/cgi-bin/manpage?1+sftp

我可能会使用rsync, rsync -avrz --ignore-existing /folder/folder/folder username@whatever.com:/folder/folder/folder复制它rsync -avrz --ignore-existing /folder/folder/folder username@whatever.com:/folder/folder/folder

似乎添加一个超时解决了这个问题。 缺省期望超时时间为10秒 ,这意味着以400 KB /秒的速率,如果达到4000 KB = 4 MB,则触发超时

 set timeout 300