免费注册 查看新帖 |

Chinaunix

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

关于双线自动切换的SHELL脚本。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-15 11:01 |只看该作者 |倒序浏览
网吧用。电信和网通双线。
最近电信出现断网情况。
打算写个SHELL脚本。

如下:
每5分钟PING下电信的DNS。如果能PING通,则直接返回,不做任何处理,如果显示TIME OUT的话,执行命令,改默认网关为网通.如5分钟后电信正常,则改默认网关为电信。

大家帮帮忙了。谢谢了。

论坛徽章:
0
2 [报告]
发表于 2006-05-15 11:15 |只看该作者
你的什么系统都没有说,还来求助,不同系统改默认网关的方法应该不一样吧
不过基本上都是改配置文件。
若你的系统的sed有-i选项很容易。没有也不难,弄两个配置文件来回mv就可以了。
1、crontab中执行脚本。
2、循环,中间加上sleep 300的语句

论坛徽章:
0
3 [报告]
发表于 2006-05-15 11:16 |只看该作者
在路由器内设置
路由备份路由
端口备份端口。
这里写的5分钟有什么用。断5分钟很严重啊

论坛徽章:
0
4 [报告]
发表于 2006-05-15 11:45 |只看该作者
系统是RH9啊。
问题是小弟不懂SHELL啊
想请各位帮帮忙敢。时间可以设为1分钟啊。

论坛徽章:
0
5 [报告]
发表于 2006-05-17 15:24 |只看该作者
具体是这样的.
电信网关:219.149.0.1
网关网关:218.26.0.1
黓认为电信网关工作.如果电信网不通的话,可以用PING 61.134.1.1(此为电信的DNS)如果无法PING通的话.自动执行命令:ip route replace default via 218.26.0.1 dev eth1设黓认网关为网通线路,如果正常的话,那就返回.什么也做.
谢谢各位了.

论坛徽章:
0
6 [报告]
发表于 2006-05-18 16:50 |只看该作者
各位兄弟.帮帮我了.
最近刚学IPTABLES.
不懂SHELL啊.

论坛徽章:
0
7 [报告]
发表于 2007-10-23 14:07 |只看该作者
自动切换 shell



#!/bin/sh
# edited by hb 2006.1
# set -x
#######################################################
PingConf='/root/monitor/pingIp'
LogDir='/root/monitor/pingLog'

#Define the interval time
INTERVAL='10'
########################################################
proc_main()
{
for i in `cat $PingConf`

   do
       IpAddress=$i
       ping -w20 $IpAddress -c 10 >errtmp
       if [ $? = 0 ] ; then
               rm errtmp
       else
               rm errtmp
               ErrTime=`date +%Y/%m/%d/%H:%M:%S`
               echo "$ErrTime"": ""$IpAddress"" cann't be connected">>$LogDir
#               sleep 1
#               cp /root/monitor/pingLog  /var/www/html/pingLog.html
               sleep 1
               sh -x /root/default               (default为一shell文件内容是#!/bash/sh
                         route replace default gw 211.111.111.111另一条线路网关作为默认网关)
       fi
    done
  }

##########################################################
# execute the proc_main function every the specified time INTERVAL
while [ "1" -eq "1" ]
do
     proc_main
     sleep $INTERVAL
done
就是ping /root/monitor/pingIp 文件里的ip地址,假如现在你用221.0.0.1/30ping网关221.0.0.2/30 一但221.0.0.2不通10个包后,服务器默认路由从221.111.111.111走,也就是你另一块网卡的网关。replace是替换。同时把ping不通的地址和时间以web形式由apache发布
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP