bill_deng 发表于 2012-12-2 16:23:21

放出一个线路连接质量检测小工具

在使用多线路出口时,某些线路可能会出现连接质量不好、丢包的情况,这时要把它们找出来处理,可以用 /tools/ping 工具一个条条线路去找出来。但如果线路多,这工作就有点烦了。这里编了一个小脚本,只要运行一下脚本,一会结果就出来了。

:global testresult "Result is: "
:local linkname
:local a
:local X 20
:local status

/interface
:for i from=1 to=$X do={
:set linkname ("pppoe-out".$i)
:set status running]
    :if ("$status" = true) do={
:set a
:if ($a < 95) do={
:set a ($a . "%" )
:set testresult ($testresult . "" . $linkname . "" . $a)
}}}

:if ($testresult = "Result is: ") do={
:put "All lines work great!"
} else {
:put $testresult
}

QQ78357343 发表于 2012-12-2 18:43:11

正想写一个呢。现成的来了

长通网络 发表于 2012-12-3 07:25:20

实用。非常好。支持

谢谢分享

58156640 发表于 2012-12-3 10:48:16

tonykong 发表于 2012-12-3 10:50:09

学习中,我也想知道怎么操作的

bill_deng 发表于 2012-12-3 11:16:43

本帖最后由 bill_deng 于 2012-12-3 11:46 编辑

使用说明:
一:在 /system/scripts 新建一个脚本,自己设一个名称,比如: linetest
二:把所有脚本内容复制到 Source 文本框内。根据你的网络环境与脚本注释做些相应的调整。
三:打开一个 New Terminal,运行命令: /sys scr run linetest   
      这时你会看到飞快的 ping 命令在运行,运行结后,会打出结果:
    如果所有线路丢包率在5%以下,结果就是: All Lines work great!
       如果有线路丢包率在5%以上(比如线路 pppoe-out10 丢包括10% ) ,结果就是:Result is: pppoe-out1090%


:global testresult "Result is: "
:local linkname
:local a

#设置总线路数量
:local X 20
:local status

#设置测试目标 IP 地址
:local remoteip 202.96.134.134


/interface
:for i from=1 to=$X do={
:set linkname ("pppoe-out".$i)
:set status running]
    :if ("$status" = true) do={
:set a
:if ($a < 95) do={
:set a ($a . "%" )
:set testresult ($testresult . "" . $linkname . "" . $a)
}}}

:if ($testresult = "Result is: ") do={
:put "All lines work great!"
} else {
:put $testresult
}

bill_deng 发表于 2012-12-4 10:24:38

新增活动线路统计功能。

:global testresult "Result is: "
:local linkname
:local a
:local X 20
:local status
:local totalactive 0
:local remoteip 202.96.134.134

/interface
:for i from=1 to=$X do={
:set linkname ("pppoe-out".$i)
:set status running]
:if ("$status" = true) do={
:set totalactive ($totalactive + 1)
:set a
   :if ($a < 95) do={
    :set a ($a . "%" )
    :set testresult ($testresult . "" . $linkname . "" . $a)
    }
}
}

:put "Total $totalactive lines active."

:if ($testresult = "Result is: ") do={
:put "All lines work great!"
} else {
:put $testresult
}

qinfei 发表于 2012-12-6 11:30:37

一看这家伙就是深圳的。呵呵:lol

bill_deng 发表于 2012-12-6 14:38:42

qinfei 发表于 2012-12-6 11:30 static/image/common/back.gif
一看这家伙就是深圳的。呵呵

奇怪,就算我脸上写了字,你也看不到呀。

bill_deng 发表于 2012-12-6 14:42:43

bill_deng 发表于 2012-12-6 14:38 static/image/common/back.gif
奇怪,就算我脸上写了字,你也看不到呀。

我知道了,我自己泄密了。

persist86 发表于 2012-12-7 15:25:11

这个功能很实用,暂未测试,收藏先,谢谢楼猪

QQ78357343 发表于 2012-12-7 18:45:34

如果直接能在脚本中运行就好了。

qile 发表于 2012-12-7 22:01:12

定期执行如果不看也白执行,看的时候手动执行下野可以

aisier 发表于 2012-12-8 11:17:59

5.8测试出错

aisier 发表于 2012-12-8 11:20:55

抱歉,是我使用不当。5.8测试可行,谢谢楼主提供脚本
页: [1] 2
查看完整版本: 放出一个线路连接质量检测小工具