Linux shell脚本重试机制

本文介绍了一种在Shell脚本中实现任务重试的机制,适用于请求未完成写入的文件等不稳定操作。通过一个计数器和状态标志,脚本能够按设定次数重复执行任务,直到成功或达到最大重试次数。

重试机制在实际编程场景中应用比较场景,比如你的任务在请求一个正在写入数据但不确定什么时间会完成的文件,可能就需要通过尝试机制间隔一段时间重新执行任务。

以下 shell 脚本是实现重试机制的模板:

#!/bin/sh

count=0     #记录重试次数
flag=0      # 重试标识,flag=0 表示任务正常,flag=1 表示需要进行重试
while [ 0 -eq 0 ]
do
    echo ".................. job begin  ..................."
    # ...... 添加要执行的内容,flag 的值在这个逻辑中更改为1,或者不变......
    
    # 检查和重试过程   
    if [ flag -eq 0 ]; then     #执行成功,不重试
        echo "--------------- job complete ---------------"
        break;
    else                        #执行失败,重试
        count=$[${count}+1]
        if [ ${count} -eq 6 ]; then     #指定重试次数,重试超过5次即失败
            echo 'timeout,exit.'
            break
        fi
        echo "...............retry in 2 seconds .........."
        sleep 2
    fi
done

 

转载于:https://www.cnblogs.com/walker-/p/10466584.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值