Собрал небольшой скрипт.
:local mailAddrTo "test@mail.ru";
:local cpuLoadSec 5;
#####
if ([/interface find name~"lte"] = "") do={
:log warning "Wait 120 sec to Mikrotik boot";
/system reboot;
:delay 120;
/tool e-mail send to=$mailAddrTo subject="$[/system identity get name]. LTE interface not found. Mikrotik rebooted!" body="LTE interface not found. Mikrotik rebooted!\nTime and Date: $[/system clock get time] $[/system clock get date]"
}
#####
#####
:local cpu100 0;
for x1 from=1 to=$cpuLoadSec do={
:if ([/system resource get cpu-load] = "100") do={
:set cpu100 ($cpu100+1);
}
:delay 1;
}
:if ($cpu100 = $cpuLoadSec) do={
:log warning "Wait 120 sec to Mikrotik boot";
:delay 120;
/tool e-mail send to=$mailAddrTo subject="$[/system identity get name]. CPU load on Mikrotik: 100%." body="Within $cpuLoadSec seconds, CPU load on Mikrotik: 100%. Mikrotik rebooted!\nTime and Date: $[/system clock get time] $[/system clock get date]"
/system reboot;
}
#####
#####
:local PingCount 3
:local Google 8.8.8.8
:local Yandex 77.88.8.7
:local Mail 94.100.180.201
:local ResultGoogle [/ping count=$PingCount $Google]
:local ResultYandex [/ping count=$PingCount $Yandex]
:local ResultMail [/ping count=$PingCount $Mail]
:local MainIfInetOk false;
:set MainIfInetOk (($ResultGoogle + $ResultYandex + $ResultMail) >= (2 * $PingCount))
:put "MainIfInetOk=$MainIfInetOk"
if (!$MainIfInetOk) do={
/log error "Bad connect internet"
/system routerboard usb power-reset duration=5s;
:log warning "Wait 30 sec to modem boot";
:delay 30;
/tool e-mail send to=$mailAddrTo subject="$[/system identity get name]. USB power-reset." body="USB power-reset.\nTime and Date: $[/system clock get time] $[/system clock get date]"
}
if ($MainIfInetOk) do={
/log info "Connect OK"
}
#####
Подскажите как сделать чтобы:
Проверялось наличие порта lte. Если его нет то ребут. Если он есть выполнялась проверка загрузки CPU. Если перегруз то ребут если все ок то проверялся интернет. Если все ок то выводился ок. Если проблемы с инетом то ребут USB
Сейчас скрипт выполняет все просто по очереди и иногда друг на друга накладывается.
Так же если есть свои варианты - предлагайте. Я буду только рад.