检查网站可用性

简介: 检查网站可用性

1)检查URL可用性
方法1:
check_url() {
HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $1)
if [ $HTTP_CODE -ne 200 ]; then
echo "Warning: $1 Access failure!"
fi
}
方法2:
check_url() {
if ! wget -T 10 --tries=1 --spider $1 >/dev/null 2>&1; then

-T超时时间,--tries尝试1次,--spider爬虫模式

    echo "Warning: $1 Access failure!"
fi

}
使用方法:check_url
2)判断三次URL可用性
思路与上面检查主机存活状态一样。
方法1:利用循环技巧,如果成功就跳出当前循环,否则执行到最后一行

!/bin/bash

check_url() {
HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $1)
if [ $HTTP_CODE -eq 200 ]; then
continue
fi
}
URL_LIST=" www.agasgf.com"
for URL in $URL_LIST; do
check_url $URL
check_url $URL
check_url $URL
echo "Warning: $URL Access failure!"
done

方法2:错误次数保存到变量

!/bin/bash

URL_LIST=" www.agasgf.com"
for URL in $URL_LIST; do
FAIL_COUNT=0
for ((i=1;i< =3;i++)); do
HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $URL)
if [ $HTTP_CODE -ne 200 ]; then
let FAIL_COUNT++
else
break
fi
done
if [ $FAIL_COUNT -eq 3 ]; then
echo "Warning: $URL Access failure!"
fi
done

方法3:错误次数保存到数组

!/bin/bash

URL_LIST=" www.agasgf.com"
for URL in $URL_LIST; do
NUM=1
while [ $NUM -le 3 ]; do
HTTP_CODE=$(curl -o /dev/null --connect-timeout 3 -s -w "%{http_code}" $URL)
if [ $HTTP_CODE -ne 200 ]; then
FAIL_COUNT[$NUM]=$IP #创建数组,以$NUM下标,$IP元素
let NUM++
else
break
fi
done
if [ ${#FAIL_COUNT[]} -eq 3 ]; then
echo "Warning: $URL Access failure!"
unset FAIL_COUNT[
] #清空数组
fi
done

目录
相关文章
|
测试技术 应用服务中间件 nginx
解决:http: TLS handshake error from *
今天以容器的形式在公网上一个部署了一个云服务,在测试环境是没有问题的,不知道为什么部署到 beta 环境就出现了问题,导致 https 协议文件访问失败。
7467 0
|
弹性计算 数据可视化 机器人
基于ECS搭建ROS Kinetic机器人操作系统
将ROS机器人操作系统搭建至云端,实现远程的机器人控制
1032 1
|
分布式计算 数据可视化 时序数据库
使用阿里云InfluxDB®和Spark Streaming实时处理时序数据
本文重点介绍怎样利用阿里云InfluxDB®和spark structured streaming来实时计算、存储和可视化数据。下面将介绍如何购买和初始化阿里云InfluxDB®,扩展spark foreach writer,以及设计阿里云InfluxDB®数据库时需要注意的事项。
7205 0
|
2月前
|
JSON 安全 生物认证
WhatWeb-网站安全扫描指纹识别
WhatWeb 是一款网站指纹识别工具,用于快速识别目标网站的 Web 服务器类型、CMS、脚本语言、中间件及可能存在的漏洞信息,常用于渗透测试与安全审计。
230 1
|
9月前
|
人工智能 自然语言处理 关系型数据库
DMS+AnalyticDB助力钉钉AI助理,轻松玩转智能问数
DMS+AnalyticDB助力钉钉AI助理,轻松玩转智能问数
378 3
|
开发框架 Java 程序员
什么是层次式体系结构?
层次式体系结构设计是将系统组成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。
323 1
|
数据可视化 机器人
Understanding topics:理解话题(Topic)
Understanding topics:理解话题(Topic)
375 0
Understanding topics:理解话题(Topic)
|
JavaScript 搜索推荐 API
【Ant Design Vue V3版本填坑记录一】Table 组件 column.slots 报错
【Ant Design Vue V3版本填坑记录一】Table 组件 column.slots 报错
1605 0
|
开发工具 git Docker
git:github的tag标签基本使用和自动发布软件包
git:github的tag标签基本使用和自动发布软件包
601 0
git:github的tag标签基本使用和自动发布软件包