|
发表于 2022-12-4 23:19:29
|
显示全部楼层
本帖最后由 cspm333 于 2022-12-4 23:30 编辑
你的要求很特別,若發生一個撥號沒連上,其他的要先關閉等他連上再啟用。
但問題是關閉再啟用,萬一換成其他的原本有撥號成,現在變成他沒連上怎辦?
所以腳本一直再做驗證的工作,怕上述的情況發生。
腳本裡有迴圈,你說的不循環應該是某個階段的pppoe撥號未完成,
迴圈一直在loop卡住不進行下個階段的關係。
不然我改個簡化不加迴圈腳本,檢查的工作讓下次循環再做:- :local change no
- :if (![/interface get pppoe-out1 running] && !$change) do={
- :set change yes ; /interface disable pppoe-out2,pppoe-out3,pppoe-out4
- }
- :if (![/interface get pppoe-out2 running] && !$change) do={
- :set change yes ; /interface disable pppoe-out1,pppoe-out3,pppoe-out4
- }
- :if (![/interface get pppoe-out3 running] && !$change) do={
- :set change yes ; /interface disable pppoe-out1,pppoe-out2,pppoe-out4
- }
- :if (![/interface get pppoe-out4 running] && !$change) do={
- :set change yes ; /interface disable pppoe-out1,pppoe-out2,pppoe-out3
- }
- :delay 5s ; /interface enable [find name~"pppoe-out" disabled]
复制代码 其中:delay 5s意指其他的撥號若關閉,這個未連上的撥號成功需多久的時間。
我設定約5秒,若需要更長的時間您再依情況變更。
而/system scheduler排程的interval(循環)時間,
則設定其他3個pppoe關閉後再啟用,並成功撥號約需要多少時間?另外還需加上腳本內的時間。
也就是發生某pppoe-out未成功撥號,進行修正並完成整個流程的總時間。
要怎控制時間,您自己斟酌~ |
|