我尝试使用以下脚本通过 SFTP 发送文件,但 10 秒后 SFTP 连接关闭,并且某些文件未发送且没有出现任何错误。
脚本:
#!/bin/sh
HOST=xxx.xxx.xxx.xxx
USER=smsu
PASS=XXXXX
expect -c "
spawn sftp -oPort=22 ${USER}@${HOST}
expect \"password: \"
send \"${PASS}\r\"
expect \"sftp>\"
send \"lcd /home/suv/msu\r\"
send \"mput *.*\r\"
expect \"sftp>\"
send \"bye\r\"
expect \"#\"
"
答案1
如果传输文件的时间超过 10 秒,就会超时,正如expect 会认为它已经消失一样。
您需要来自手册页的类似内容:
set timeout 30