检查连接环路,如果掉落则重新启动第二个环路

检查连接环路,如果掉落则重新启动第二个环路

我有 bash 脚本,它正在循环并从网上获取信息,我昨天晚上运行了测试,一切都很顺利,直到我的连接断开了 2 分钟并且脚本卡住了。

因此,为了克服这个问题,我需要您帮助构建循环,该循环将检查连接是否失败,然后再次重新启动 bash 脚本。

我现在正在使用的脚本示例:

while true; do 
        xargs -d '\n' -I LINE -P2 go run main.go -d LINE -o file < domain && 
        xargs -d '\n' -I LINE -P3 ./script -d LINE < domain && 
        xargs -d '\n' -I LINE -P2 python3 script4.py -d LINE --output file < domain && 
        xargs -d '\n' -I LINE -P2 python3 script3.py -u LINE -o file.txt < domain && 
        xargs -d '\n' -I LINE -P3 script2 -t LINE -o recon < domain && 
        xargs -d '\n' -I LINE python3 script.py -t 020f3fe83162e016114b32ad9542 -d LINE < domain && 
    mv *.txt savehere && dos2unix savehere/*.txt && sort savehere/*.txt | uniq | tr -d '<>,' > results-$(date +%d-%m-%Y_%H_%p).txt 
done 

答案1

例如,如果您的连接是基于 http / https 的,您可以使用curl。

你的循环中是这样的:

curl http://domain.example.com || $(echo "I am unable to connect to http://domain.example.com and will sleep for 60 seconds; sleep 60;continue)

它将尝试从中获取http内容http://domain.example.com如果失败 - 它将回显文本并休眠 60 秒;然后从顶部重新启动 while,因此最好将其添加到 while 循环的顶部:)

相关内容