老师,您好,咨询个事情,写了一个脚本,用来实现远程免密传输,但是这个脚本传输小文件的时候成功,如果传输的数据量很大,超过一个G就会传到百分之五六十的时候自动断开,请问老师这个怎么解决?#!/bin/bash
DATE=$(date +%Y_%m_%d)
/usr/bin/expect -c "
set timeout 10
set host [lindex $argv 0]
set username [lindex $argv 1]
set password [lindex $argv 2]
set src_file [lindex $argv 3]
set dest_file [lindex $argv 4]
spawn scp -r /home/mobileoa/mongo_bak mobileoa@10.224.4.215:/home/mobileoa/we_mongodb_bak/mongodb_bak_list
expect {
\"(yes/no)?\" {send \"yes\r\";exp_continue}
\"password:\" {send \"Zhao@1234\r\"}
}
expect "100%"
expect eof
"
展开
作者回复: 1 使用ssh -v 排查错误(主要是文件传输过大是否有网络错误)
2 set timeout 时间增长
3 使用秘钥方式看看是否出现同样问题
4 使用rsync 支持续传替代scp传输大型文件