有時當連接到遠程SSH服務器時,我得到Connection Closed By *IP*; Couldn't read packet: Connection reset by peer.
但嘗試一次或兩次後,它連接正常。循環直到連接到SSH
這提出了幾個bash腳本的問題,我用這些腳本自動將歸檔的備份上傳到SSH服務器,就像這樣;
export SSHPASS=$sshpassword
sshpass -e sftp -oBatchMode=no -b - [email protected]$sshaddress << !
cd $remotefolder
put $backupfolder/Qt_$date.sql.gz
bye
!
如何才能使這部分循環,直到它實際上正確連接?
UPDATE(解決方案)
RETVAL=1
while [ $RETVAL -ne 0 ]
do
export SSHPASS=$sshpassword
sshpass -e sftp -oBatchMode=no -b - [email protected]$sshaddress << !
cd $remotefolder
put $backupfolder/Qt_$date.tgz
bye
!
RETVAL=$?
[ $RETVAL -eq 0 ] && echo Success
[ $RETVAL -ne 0 ] && echo Failure
done
解決實際問題, 「coudln't讀取數據包:由對等連接復位」。 – rapadura 2012-03-14 11:12:57
即使我這樣做,我仍然想要一種方法來驗證它是否連接,如果不是,則會循環...對於我所知的服務器在重新啓動或在備份腳本出現網絡問題時從cron運行。 – natli 2012-03-14 11:14:47