Я изменил скрипт от Adahi так, чтобы он сохранял результаты в текстовый файл, чтобы его можно было запускать по расписанию для анализа результатов BW-теста в разные дни. Добавил комментарии тоже. Делюсь с сообществом, на всякий случай! :log info "------------ Запуск BW-TEST --------------";
:local luser "Пользователь BW Test Server";
:local lpass "Пароль BW TEST Server";
:local Addr "IP-адрес BW TEST Server";
:local avrRX 0;
:local avrTX 0;
# ТЕСТ НА СКАЧИВАНИЕ
:log info "----> Измеряем RX (30 секунд)........";
:do {/tool
bandwidth-test duration=30s user=$luser password=$lpass protocol=tcp address=$Addr direction=receive do={
:set $avrRX ("rx-total-average: " . ($"rx-total-average" / 1048576) . "." . ($"rx-total-average" % (1048576) / 1024) . " Mbps" );
}
} on-error={:log error message="Скрипт RX завершился с ошибкой"}
:delay 2s;
# ТЕСТ НА ОТДАЧУ
:log info "----> Измеряем TX (30 секунд) ........";
:do {/tool
bandwidth-test duration=30s user=$luser password=$lpass protocol=tcp address=$Addr direction=transmit do={
:set $avrTX ("tx-total-average: " . ($"tx-total-average" / 1048576) . "." . ($"tx-total-average" % (1048576) / 1024) . " Mbps" );
}
} on-error={:log error message="Скрипт TX завершился с ошибкой"}
:log info message=$avrRX;
:log info message=$avrTX;
:log info "-------- Конец BW-TEST ------------";
################# СОХРАНЕНИЕ РЕЗУЛЬТАТОВ С ДАТОЙ ######################
:local filename2 "LOG_BW_TEST.txt"
:local ds [/system clock get date];
:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
:local month [:pick $ds 0 3];
:local mm ([:find $months $month -1] + 1);
:if ($mm < 10) do={ :set mm ("0" . $mm); };
:set ds ([:pick $ds 7 11] . $mm . [:pick $ds 4 6]);
:if ([:len [/file find name=$filename2]] = 0) do={
:log info "Лог-файл отсутствует. Создаём новый.....";
/file print file=$filename2 where name="";
}
:log info "Добавляем результат в конец лог-файла......";
/file set $filename2 contents=([get $filename2 contents] . "\n" . $ds . "-->" . $avrRX);
/file set $filename2 contents=([get $filename2 contents] . " " . $avrTX);