Hi,
can share with me how to do the script to monitor the pppoe server, when print count = 0, then to reboot the routerboard?
{
:local upTime [/system resource get uptime]
:local weeks [:pick $upTime 0 [:find $upTime "w"]]
:set upTime [:pick $upTime ([:find $upTime "w"]+1) [:len $upTime]]
:local days [:pick $upTime 0 [:find $upTime "d"]]
:set upTime [:pick $upTime ([:find $upTime "d"]+1) [:len $upTime]]
:local hours [:pick $upTime 0 [:find $upTime ":"]]
:set upTime [:pick $upTime ([:find $upTime ":"]+1) [:len $upTime]]
:local minutes [:pick $upTime 0 [:find $upTime ":"]]
:set upTime [:pick $upTime ([:find $upTime ":"]+1) [:len $upTime]]
:local seconds $upTime
:local upSeconds [(($weeks*604800)+($days*86400)+($hours*3600)+($minutes*60)+$seconds)]
:if ($upSeconds > 60) do={
:if ([:len [/interface pppoe-server find]] = 0) do={
/system reboot
}
}
}
thanks for you sharing.As said above, you should fix whatever are the underlying issues rather than reboot.
However, here is a script that will reboot the router, if uptime is over 1 minute, and there are 0 PPPoE sessions:You can put this into the scheduler, and schedule it to run in a 1 minute interval if you want.Code: Select all{ :local upTime [/system resource get uptime] :local weeks [:pick $upTime 0 [:find $upTime "w"]] :set upTime [:pick $upTime ([:find $upTime "w"]+1) [:len $upTime]] :local days [:pick $upTime 0 [:find $upTime "d"]] :set upTime [:pick $upTime ([:find $upTime "d"]+1) [:len $upTime]] :local hours [:pick $upTime 0 [:find $upTime ":"]] :set upTime [:pick $upTime ([:find $upTime ":"]+1) [:len $upTime]] :local minutes [:pick $upTime 0 [:find $upTime ":"]] :set upTime [:pick $upTime ([:find $upTime ":"]+1) [:len $upTime]] :local seconds $upTime :local upSeconds [(($weeks*604800)+($days*86400)+($hours*3600)+($minutes*60)+$seconds)] :if ($upSeconds > 60) do={ :if ([:len [/interface pppoe-server find]] = 0) do={ /system reboot } } }
Uptime script stolen from here: viewtopic.php?t=88168#p443779