gpt4 book ai didi

linux - 循环直到连接到 SSH

转载 作者:太空狗 更新时间:2023-10-29 11:23:28 25 4
gpt4 key购买 nike

有时,在连接到远程 SSH 服务器时,我会收到 Connection Closed By *IP*;无法读取数据包:连接被对等方重置。 但在尝试一两次后,它连接正确。

这对我用来自动将存档备份上传到 SSH 服务器的一些 bash 脚本造成了问题,就像这样;

export SSHPASS=$sshpassword
sshpass -e sftp -oBatchMode=no -b - root@$sshaddress << !
cd $remotefolder
put $backupfolder/Qt_$date.sql.gz
bye
!

我怎样才能让这部分循环直到它真正正确连接?

更新:(解决方案)

RETVAL=1
while [ $RETVAL -ne 0 ]
do
export SSHPASS=$sshpassword
sshpass -e sftp -oBatchMode=no -b - root@$sshaddress << !
cd $remotefolder
put $backupfolder/Qt_$date.tgz
bye
!
RETVAL=$?
[ $RETVAL -eq 0 ] && echo Success
[ $RETVAL -ne 0 ] && echo Failure
done

最佳答案

尝试这样的事情:

export SSHPASS=$sshpassword

sshpassFunc() {
sshpass -e sftp -oBatchMode=no -b - root@$sshaddress << !
cd $remotefolder
put $backupfolder/Qt_$date.sql.gz
bye
!
}

until sshpassFunc; do
sleep 1
done

(未测试)

关于linux - 循环直到连接到 SSH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9700726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com