Скрип измерение скорости интернете и запись журнал + email
Добавлено: 03 янв 2022, 19:56
# ни где не нашел пришлось самому писать без документации на ping-speed
# может кому пригодится
# еще в tool нужна настройка почтового ящика откуда пускать почту
# скрипт запускается каждый час с Scheduler
{
:local avg 0;
:local curr 0;
:local atxt [/tool ping-speed address=8.8.8.8 duration=10 as-value];
:local avg ($atxt->"average");
:local avg ($avg / 1048576);
:local curr ($atxt->"current");
:local curr ($curr / 1048576);
/log info "=Speed internet average=$avg Mbps,current=$curr Mbps";
:if (curr < 10) do={
:local myEmail "xxxxxxxxx@yandex.ru";
:local myMsg "=Speed internet average=$avg Mbps,current=$curr Mbps";
:local mod5 [/system routerboard get model];
:local monthToNum;
:local dateToPick;
:local dateToLog;
:local timeToLog;
:set monthToNum {jan="01";feb="02";mar="03";apr="04";may="05";jun="06";jul="07";aug="08";sep="09";oct="10";nov="11";dec="12";};
:set dateToPick [/system clock get date];
:set dateToLog ( [:pick $dateToPick 4 6] . "." . ( $monthToNum -> [:pick $dateToPick 0 3] ) . "." . [:pick $dateToPick 7 11] );
:set timeToLog [/system clock get time];
#
:local mySubj "=Speed internet < 10 Mbps,$mod5,$dateToLog,$timeToLog";
:do {/tool e-mail send to=$myEmail subject=$mySubj body=$myMsg ;} on-error={:log error ("impossible to send e-mail for Netwatch");}
}
}
# может кому пригодится
# еще в tool нужна настройка почтового ящика откуда пускать почту
# скрипт запускается каждый час с Scheduler
{
:local avg 0;
:local curr 0;
:local atxt [/tool ping-speed address=8.8.8.8 duration=10 as-value];
:local avg ($atxt->"average");
:local avg ($avg / 1048576);
:local curr ($atxt->"current");
:local curr ($curr / 1048576);
/log info "=Speed internet average=$avg Mbps,current=$curr Mbps";
:if (curr < 10) do={
:local myEmail "xxxxxxxxx@yandex.ru";
:local myMsg "=Speed internet average=$avg Mbps,current=$curr Mbps";
:local mod5 [/system routerboard get model];
:local monthToNum;
:local dateToPick;
:local dateToLog;
:local timeToLog;
:set monthToNum {jan="01";feb="02";mar="03";apr="04";may="05";jun="06";jul="07";aug="08";sep="09";oct="10";nov="11";dec="12";};
:set dateToPick [/system clock get date];
:set dateToLog ( [:pick $dateToPick 4 6] . "." . ( $monthToNum -> [:pick $dateToPick 0 3] ) . "." . [:pick $dateToPick 7 11] );
:set timeToLog [/system clock get time];
#
:local mySubj "=Speed internet < 10 Mbps,$mod5,$dateToLog,$timeToLog";
:do {/tool e-mail send to=$myEmail subject=$mySubj body=$myMsg ;} on-error={:log error ("impossible to send e-mail for Netwatch");}
}
}