yuefy 发表于 2011-6-9 18:02:49

还是求助脚本问题,高手们帮帮忙

:foreach i in= do= {:local arpadress ;:foreach v in= do= {:local netaddress ;:if ($arpadress != $netaddress ) do= {/tool netwatch add host=$arpadress interval=00:01:00 timeout=1 }}}

先查找ARPIP和查找netwatch IP判断两个结果是否相同,如果相同不作任何修改,如果有不相同的,把netwatch的IP 没有ARP IP地址增加进,


哪位高手帮我看一下,哪个地方错了。

47771885 发表于 2011-6-9 18:26:29

先查找ARPIP和查找netwatch IP判断两个结果是否相同? 什么结果

yuefy 发表于 2011-6-9 18:35:41

回复 47771885 的帖子

arp里面的IP 地址和netwath里面的IP地址 是否相同,如果有不同的把不同IP 地址增加到netwath里面去


47771885 发表于 2011-6-9 19:58:51

{
:local arpid
:local arpip
:local netaddress {}
:foreach neti in= do={:set netaddress ($netaddress + [:toarray ])}
/ip arp
:while (true) do={
:set arpid
:foreach arpi in=$arpid do={
:set arpip
:if ([:typeof [:find $netaddress $arpip]]="nil") do={
:set netaddress ($netaddress + $arpip)
/tool netwatch add host=$arpip interval=00:01:00 timeout=1
}
}
:delay 10m
}
}:delay 10m
脚本为内循环 调度一次即可 修改:delay 10m 为循环时间

yuefy 发表于 2011-6-9 20:11:35

版主你太强了,感谢!
每天进步一点点

47771885 发表于 2011-6-9 21:01:48

本帖最后由 47771885 于 2011-6-9 21:06 编辑

不客气 这个脚本理念还是 Mxso   大虾的
使用这个的时候你要注意了不要重复点击运行了如果是在容器里 嘿嘿

mxso 发表于 2011-6-9 23:06:16

47771885 发表于 2011-6-9 19:58 static/image/common/back.gif
:delay 10m
脚本为内循环 调度一次即可 修改:delay 10m 为循环时间

{:2_36:}
嗯,到位了

kyer2012 发表于 2011-6-10 00:13:14

yuefy 发表于 2011-6-9 18:02 static/image/common/back.gif
:foreach i in= do= {:local arpadress ;:foreach v in=

不知道这个有啥作用呢?

为啥要加进去 Netwatch

jt00278 发表于 2011-6-10 01:19:39

路过,看看……每天进步一点点……

macxie 发表于 2011-6-11 08:17:58

围观,学习了。。
页: [1]
查看完整版本: 还是求助脚本问题,高手们帮帮忙