免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2154 | 回复: 3
打印 上一主题 下一主题

[数值计算] 请教脚本检测服务器返回码并统计、判断数量的写法。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-10-24 10:49 |只看该作者 |倒序浏览
5可用积分
想写一个脚本,就是循环检测这三个服务器的web服务器返回码,是不是200,然后如果超过两台服务器返回200,就是往下执行yes的代码,如果少于两台就执行no的代码,请教大家该怎么写?
for ip in {172.17.143.73,172.17.143.72,172.17.253.84}
do
  statuscode=`curl -I -m 10 -o /dev/null -s -w %{http_code} $ip:8080`
if [ $statuscode == 200 ];then
  echo "yes"
  ......
else
  echo "no"
  ......
fi
done

目前三台服务器都通的情况下,实行脚本打印的效果是:
# sh test.sh
yes
yes
yes


论坛徽章:
0
2 [报告]
发表于 2019-10-24 10:49 |只看该作者
本帖最后由 jzsjm1002 于 2019-10-24 13:59 编辑
  1. #!/bin/bash
  2. #

  3. IP=(
  4. 172.17.143.73:8080
  5. 172.17.143.72:8080
  6. 172.17.253.84:8080
  7. )

  8. for i in ${IP[@]}
  9. do
  10.   ret=`curl --connect-timeout 1 -I -m 10 -o /dev/null -s -w %{http_code} $i`
  11.   [ $ret -eq 200 ] && let a++
  12. done

  13. [[ $a -ge 2 ]] && echo "YES" || echo "NO"
复制代码

评分

参与人数 1可用积分 +10 收起 理由
飘絮絮絮丶 + 10 赞一个!

查看全部评分

论坛徽章:
0
3 [报告]
发表于 2019-10-24 18:33 |只看该作者
本帖最后由 dx8439 于 2019-10-24 19:16 编辑

回复 2# jzsjm1002

谢谢大神指导!

论坛徽章:
0
4 [报告]
发表于 2019-10-24 19:15 |只看该作者
回复 2# jzsjm1002

我知道怎么写了,谢谢大神指导!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP