线路检测并重拨脚本(linecheck_gen_0.2)
因某些不可知的原因, 系统里的外网连接会出现一种奇怪的现象,线路状态为已连接(running),但是只有上行流量,没有下行流量,需要对该线路进行重拨才能回复正常。出现这种情况时,用户那里会出现网络慢,打不开网页等故障。本脚本专为处理这种而情况而作,只需以附件内容添加一个脚本,运行一次,即生成另外一个新脚本及排期表,定时检测系统外网连接,发现问题连接即自动重拨。
这个是升级版本,原版本在某些特殊情况下可能导致系统出错,原来已下载过旧版本的同学不用再下载,我已将新版本用消息发给你们了。
同问 自带的线路检查怎么用?没有看见有设置 正好需要,谢了 原来已下载过旧版本的同学不用再下载,我已将新版本用消息发给你们了。
请问这个在ROS里面用脚本如何做到,谢谢 跟 我写的差不多。害我又花了20铜版 本帖最后由 sealin 于 2013-3-29 14:44 编辑
楼主,你这个脚本有个bug
一旦用于检测的ip有问题,ping不通,那么这个脚本就会反复重新连接pppoe.....
建议做双重检测
另外
/ip address
remove
这个用不着的
ppp拨号disable后,ip就没了,那是动态ip,不用主动删除 sealin 发表于 2013-3-29 14:43 static/image/common/back.gif
楼主,你这个脚本有个bug
一旦用于检测的ip有问题,ping不通,那么这个脚本就会反复重新连接pppoe.....
建 ...
谢谢支持。
因为脚本执行速度太快,有时候旧IP还未被系统清除,新连接就已经连上了,这时系统就不再去清除旧IP,导致同一连接有两个IP,最终系统出错。同时因为 ROS 里没有 BASH 里的 sleep 命令来延迟执行,所以加入主动删除IP这一步骤。 bill_deng 发表于 2013-3-29 15:30 static/image/common/back.gif
谢谢支持。
因为脚本执行速度太快,有时候旧IP还未被系统清除,新连接就已经连上了,这时系统就不再 ...
嗯,考虑比较周到,但是清除ip需要放到disable连接之前,这样比较妥当
另外二次检测多加一个判断ip就可以了
我加了个b作为二次判断
a和b都不通就重新连接
另外我加了邮件报警
:if ($a = 0 && $b = 0) bill_deng 发表于 2013-3-29 15:30 static/image/common/back.gif
谢谢支持。
因为脚本执行速度太快,有时候旧IP还未被系统清除,新连接就已经连上了,这时系统就不再 ...
另外发现一个问题
如果pppoe的状态为正在连接
如图
则用running无法检测到
我试过!disabled也无法检测
也就是running等同于!disabled
看来还是用for i from=1 to=99来逐个搞比全面
不知道你还有别的办法么 看看我的方法吧,{
#pppoename PPP连接名包含的
:local pppoecliname "pppoe-cnc"
:local remoteip "210.21.196.6"
#接收
:local linkcount [:len ]
:local RxCurRate "0";:local TxCurRate "0";:local linkname;:local cur "0";:local a;
#发送
/interface
:foreach i in= do={
:set linkname
:if ($linkcount>$cur && ) do={
/interface monitor $linkname once do={:set RxCurRate $"rx-bits-per-second";}
/interface monitor $linkname once do={:set TxCurRate $"tx-bits-per-second";}
:if ($RxCurRate="1000" && $TxCurRate="1000") do={
:set a
:if ($a = 0) do={
:log warning ("线路" . $linkname . "不正常,正在断开重拔")
/interface dis $linkname
:delay 1
/interface en $linkname
}}
}
#:log info ($linkname)
:set cur ($cur+1)
}
:log info ("所有线路测试OK")
}
我是通过有没有流量来检测的,我们这边的联通经常出现这种情况。 本帖最后由 bill_deng 于 2013-3-31 23:31 编辑
QQ78357343 发表于 2013-3-31 21:42 static/image/common/back.gif
看看我的方法吧,我是通过有没有流量来检测的,我们这边的联通经常出现这种情况。
我有点不明白了,你那边线路不通时,其即时收发流量是 =1000 吗?还是 <=1000 ?
delay 用法是亮点,不错。 QQ78357343 发表于 2013-3-31 21:42 static/image/common/back.gif
看看我的方法吧,我是通过有没有流量来检测的,我们这边的联通经常出现这种情况。
:if ($RxCurRate="1000" && $TxCurRate="1000") do={
这一判断的依据是什么呀? 按照这样来恐怕这个脚本不能起到作用吧? 小于等于,不好意思,发脚本时整错了。细心的人好啊。
:if ($RxCurRate<="1000" && $TxCurRate<="1000") do={ 指点一下,实测试确实可以检测出一些拔上号而又网络不通的外线。交流下,看看有什么更好的方法。 看一下 有没有用 QQ78357343 发表于 2013-4-1 17:29 static/image/common/back.gif
指点一下,实测试确实可以检测出一些拔上号而又网络不通的外线。交流下,看看有什么更好的方法。
指教不敢当。改为只检测下载流量就好了。