星空之云 发表于 2012-2-9 17:20:23

脚本请教

:if do={/interface pppoe-client enable numbers=pppoe-out2}

:if do={/interface pppoe-client enable numbers=pppoe-out1}


为什么这样不行呢,我要做到的效果就是!

线路1如果是开启的,就关闭线路2。如果线路2是关闭的,就开启线路1.

怎么没效果呢!不知道哪里写错了!




huigezi' 发表于 2012-2-9 17:40:19

自相矛盾的想法
线路1开启的关闭线路2=线路2关闭的开启线路1

huigezi' 发表于 2012-2-9 17:41:48

本帖最后由 huigezi' 于 2012-2-9 17:42 编辑


:do {
/interface pppoe-client
:local a disabled]
:if ($a!=true) do={disable
};
:if ($a=true) do={enable
};/;};

线路1开启的关闭线路2,线路1关闭的开启线路2

jike106397 发表于 2012-2-9 17:54:37

本帖最后由 jike106397 于 2012-2-9 17:55 编辑

:if ( running ]=false) do={/interface pppoe-client enable }

:if ( running ]=false) do={/interface pppoe-client enable }


这样应该可以的

星空之云 发表于 2012-2-9 17:57:28

本帖最后由 星空之云 于 2012-2-9 18:11 编辑

不行啊!

我想做线路切换,运行这段代码后。如果线路1是运行着,就停用线路2. 如果线路2是运行着,就停用线路1

也就是运行一次就启动线路1关闭线路2,再运行一次就启动线路2关闭线路1

星空之云 发表于 2012-2-9 18:11:29

huigezi' 发表于 2012-2-9 17:41 static/image/common/back.gif
:do {
/interface pppoe-client
:local a disabled]


兄弟似乎不行!

星空之云 发表于 2012-2-9 18:15:52

jike106397 发表于 2012-2-9 17:54 static/image/common/back.gif
:if ( running ]=false)...

我想做线路切换,运行这段代码后。如果线路1是运行着,就停用线路2. 如果线路2是运行着,就停用线路1

也就是运行一次就启动线路1关闭线路2,再运行一次就启动线路2关闭线路1

因为我想不断更换公网IP地址,又不想ROS下面的网络断线!

jike106397 发表于 2012-2-9 18:26:21

so it is:


:if ( running ]) do={/interface pppoe-client disable }

:if ( running ]) do={/interface pppoe-client disable}

huigezi' 发表于 2012-2-9 18:42:58

本帖最后由 huigezi' 于 2012-2-9 18:43 编辑

楼上的你理解错楼主意思了吧

他说的是关闭1,开启2,开启1,关闭2

是检测是否关闭 而不是检测是否正常通信

楼主的要求用判断会增加逻辑交叉错误 直接用延迟就行了


/interface pppoe-client
enable
disable
:delay 1m
disable
enable


计划任务比如设置2分钟执行,执行后延迟1分钟关闭1,开启2,再被计划任务执行的时候又是循环开始,开启1,关闭2,延迟1分钟后 关闭1,开启2

可是你的要求了?

星空之云 发表于 2012-2-9 18:55:23

本帖最后由 星空之云 于 2012-2-9 19:15 编辑

huigezi' 发表于 2012-2-9 18:42 static/image/common/back.gif
楼上的你理解错楼主意思了吧

他说的是关闭1,开启2,开启1,关闭2


谢谢,可以了!
页: [1]
查看完整版本: 脚本请教