我使用以下 shell 脚本代码上传一个大的 .tar 文件。有时会发生服务器无法将域解析为 ip 或其他服务器不可用的情况。因此,如果它不起作用,我不希望它重试几次。我怎样才能做到这一点?我在互联网上找不到这方面的东西。
ftp -inv << EOF
open $FTP_SERVER
user $FTP_USER $FTP_PASS
cd $FTP_VERZEICHNIS
mkdir ultimate_$DATE
cd ultimate_$DATE
mput *.tar
quit
EOF
编辑:
抱歉,我对 shell 没有真正的经验,这会是什么样子?
FTP_SUCCESS_MSG="226 Transfer complete"
while [fgrep "$FTP_SUCCESS_MSG" $FTPLOG]
do
FTPLOG=/temp/ftplogfile
ftp -inv <<! > $FTPLOG
open $FTP_SERVER
user $FTP_USER $FTP_PASS
cd $FTP_VERZEICHNIS
mkdir ultimate_$DATE
cd ultimate_$DATE
mput *.tar
close
quit
!
fi
exit 0
sleep 10s
else
echo "Upload completed"
done