下面是一个使用Bash脚本的示例,用于在继续之前检查网站是否可用。如果网站不可用,脚本会睡眠一段时间并重试。
#!/bin/bash
url="http://example.com"
retry_interval=5 # 重试间隔(以秒为单位)
max_retries=5 # 最大重试次数
# 检查网站是否可用的函数
function check_website_availability() {
response=$(curl -s --head -w %{http_code} "$url" -o /dev/null)
if [ "$response" -eq 200 ]; then
return 0 # 网站可用
else
return 1 # 网站不可用
fi
}
# 循环检查网站可用性
retries=0
while ! check_website_availability; do
retries=$((retries + 1))
if [ "$retries" -gt "$max_retries" ]; then
echo "达到最大重试次数,无法连接到网站"
exit 1
fi
echo "无法连接到网站,等待 $retry_interval 秒后重试"
sleep "$retry_interval"
done
echo "成功连接到网站"
在这个示例中,我们首先定义了要检查的网站URL、重试间隔和最大重试次数。然后,我们定义了一个函数check_website_availability()
,它使用curl
命令发送HEAD请求到指定的URL,并通过HTTP响应码判断网站是否可用。
然后,我们使用一个循环来调用check_website_availability()
函数,并在网站不可用的情况下进行重试。每次重试时,我们增加重试计数器,并在达到最大重试次数后退出脚本。
如果网站可用,脚本将打印出"成功连接到网站"的消息。否则,它将打印出"达到最大重试次数,无法连接到网站"的消息并退出。
你可以根据需要修改脚本中的URL、重试间隔和最大重试次数。