Привет, я пытаюсь создать скрипт, который будет отправлять syslog сообщения, как только пользователь на trial-аккаунте заходит в хот-спот. Я настроил отправку логов на мой syslog-сервер и определил скрипт в `/system script`. Имя скрипта связано с действием `on-login` профиля пользователя хот-спота, назначенного пользователям на trial-аккаунте. Исходный код скрипта выглядит так:
:local freeuser [/ip hotspot active find where user=$user];
:local freemac [/ip hotspot active get $freeuser mac-address];
:local freeip [/ip hotspot active get $freeuser address];
:log info ($freemac." ".$freeip);
Это отлично работает, но только если зашёл только один пользователь (только одна запись в `/ip hotspot active`). Если пользователей двое и больше, я получаю сообщение об ошибке: `interrupted invalid internal item number`. Похоже, какая-то проблема с переменной `$user`. Я пытаюсь её использовать, потому что статья на вики о профилях пользователей хот-спота так и предлагает. Когда я пытаюсь использовать переменную напрямую, например: `:log info $user`, я получаю синтаксическую ошибку. Всё это происходит на RB433 под RouterOS v5.16. Где я ошибся?
С уважением,
Jacek
:local freeuser [/ip hotspot active find where user=$user];
:local freemac [/ip hotspot active get $freeuser mac-address];
:local freeip [/ip hotspot active get $freeuser address];
:log info ($freemac." ".$freeip);
Это отлично работает, но только если зашёл только один пользователь (только одна запись в `/ip hotspot active`). Если пользователей двое и больше, я получаю сообщение об ошибке: `interrupted invalid internal item number`. Похоже, какая-то проблема с переменной `$user`. Я пытаюсь её использовать, потому что статья на вики о профилях пользователей хот-спота так и предлагает. Когда я пытаюсь использовать переменную напрямую, например: `:log info $user`, я получаю синтаксическую ошибку. Всё это происходит на RB433 под RouterOS v5.16. Где я ошибся?
С уважением,
Jacek
