使用Linux bash脚本使用SFTP传输大文件

时间:2019-06-20 03:16:56

标签: bash sftp

我打算使用SFTP将大约1 + GB的大文件发送到远程端。但是,它似乎在交互模式下可以正常工作(当我sftp@xx.xx.xx.xx并手动输入密码,然后键入put命令时)。但是,当我在shell中运行它时,它总是超时。

我已经在/ etc / ssh / sshd_config中设置了客户端和服务器的ClientAliveTimeout设置,但仍然会发生。

下面是linux脚本代码

sshpass -p "password" sftp user@xx.xx.xx.xx << END

put <local file path> <remote file path>

exit
END

使用交互模式时,文件传输需要10分钟 使用脚本运行时,根据文件大小,文件不完整。

更新:交互模式下的当前传输显示小文件通过,但大文件在传输过程中停顿了。

1 个答案:

答案 0 :(得分:0)

我更喜欢lftp这样的东西

lftp -u user,passwd domain.tld -e "put /path/file; quit"

lftp也可以处理sftp

open sftp://username:password@server.address.com