需求:如果因为服务器原因导致ftp连接不上,又不想让脚本处于sleep状态,想通过超时时间或者重试连接次数判定FTP连接不上,就直接退出download()
方法,各位可以提示一下吗? 感觉可以通过添加参数的方法实现,但是具体参数设置涉及到lftp和sftp不知道应该在哪里添加,求解!
download()
{
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
lcd $curDate_dir
mget $source_dir/${fileName1}
bye
EOF
}
可以这样试试:
download()
{
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
set net:timeout 5;
set net:max-retries 2;
set net:reconnect-interval-multiplier 1;
set net:reconnect-interval-base 5; 如果是第一次重试,net:reconnect-interval-base 第一次连接失败时重试间隔
lcd $curDate_dir
mget $source_dir/${fileName1}
bye
EOF
}
lftp -c "
set net:timeout 5; 超时
set net:max-retries 3;
set net:reconnect-interval-multiplier 1; 重新连接次数
set net:reconnect-interval-base 5;