墨咖 2019-10-08 16:30 采纳率: 100%
浏览 4372
已采纳

shell脚本中lftp、sftp设置超时时间和重新连接次数,怎么改一下呢?

需求:如果因为服务器原因导致ftp连接不上,又不想让脚本处于sleep状态,想通过超时时间或者重试连接次数判定FTP连接不上,就直接退出download()
方法,各位可以提示一下吗? 感觉可以通过添加参数的方法实现,但是具体参数设置涉及到lftp和sftp不知道应该在哪里添加,求解!

download()
{
lftp -u ${USER},${PASSWORD} sftp://${IP}:${PORT} <<EOF
lcd $curDate_dir
mget $source_dir/${fileName1}
bye
EOF
}
  • 写回答

3条回答 默认 最新

  • weixin_43975295 2019-10-09 10:24
    关注

    可以这样试试:
    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
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵