免费注册 查看新帖 |

Chinaunix

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

[其他] shell脚本关于判断端口连通性后切换配置文件的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-09-07 14:59 |只看该作者 |倒序浏览
#!/bin/bash

DATE=`date +%Y-%m-%d-%H:%M:%S`
PIDFILE="/var/run/haproxy.pid"
#两个不同的haproxy的配置文件,一个是内网地址,一个是外网地址的;
IN_haproxy="/etc/haproxy/haproxy.cfg.in"
OUT_haproxy="/etc/haproxy/haproxy.cfg.out"

#切换不同配置文件的日志记录
LOG_FILENAME="/var/log/hachange.log"

cat /etc/haproxy/ip_ports.txt | while read IP_PORTS
do
  nc -w 10 -z $IP_PORTS > /dev/null 2>&1
        if [[ $? -eq 0 ]]
        then
                echo "[+]$DATE[+]The $IP_PORTS is OK !!!!" | tee -a $LOG_FILENAME
        else
                echo "[+]$DATE[+]The $IP_PORTS is Fail !!!!"  | tee -a $LOG_FILENAME
                echo -e "[+]$DATE[+]机房服务器 $IP_PORTS 端口不通,请尽快处理!" |mail -s "【机房监控】服务器$IP_PORTS端口不通"  ops@company.cn | tee -a $LOG_FILENAME
        fi
done

判断返回值是3次都为1就套下面这个:
echo "[+]$DATE[+]The all ip_ports is Fail !!!!" |tee -a $LOG_FILENAME
/bin/cp -Rf  $OUT_haproxy haproxy.cfg
service haproxy restart
echo -e "[+]$DATE[+]机房服务器所有的端口不通,请尽快处理!\n现已切换到外网端口访问!" |mail -s "【机房监控】机房服务器所有端口挂了"  ops@company.cn | tee -a $LOG_FILENAME

想实现的功能:
ip_ports里面有3个地址,使用nc探测其存活与否,如果成功返回状态值0,表示正常;
如果其中1-2个地址返回值为1 ,我这里只报警;
如果3个返回值都是1我这里就要将配置文件切换到外网地址的配置文件;我就卡在如何实现判断3次返回判断值为1,然后去修改配置文件重启!


论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2015-09-07 16:16 |只看该作者
是否考虑nmap?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP