Есть ли способ отслеживать входы в роутер и запускать при этом скрипт или отправлять письмо?
Можно ли запускать скрипт при входе в систему?
Можно ли запускать скрипт при входе в систему?, RouterOS
27.03.2012 21:34:00
|
|
|
|
26.04.2012 23:57:00
Я разобрался… Этот скрипт направил меня в нужное русло:
# Скрипт для проверки новых специфичных записей в логе и отправки email-уведомлений # Проверено на RouterOS v5.7+ # контейнер для отслеживания последнего зафиксированного временного штампа :global lastTime; # ищем записи в логе, где сообщение содержит "logged in" или "login failure" :local currentBuf [ :toarray [ /log find message~"logged in" || message~"login failure" ] ]; # получаем количество записей :local currentLineCount [ :len $currentBuf ]; # если есть записи, продолжаем if ($currentLineCount > 0) do={ # исходя из количества записей, получаем время последней :local currentTime "$[ /log get [ :pick $currentBuf ($currentLineCount -1) ] time ]"; # проверяем длину currentTime, если 15 — запись из предыдущего дня и начинается с месяц/день :if ([:len $currentTime] = 15 ) do={ # обрезаем currentTime, оставляя только время xx:xx:xx :set currentTime [ :pick $currentTime 7 15 ]; } # формируем тело письма с временной меткой и сообщением лога :local output "$currentTime $[/log get [ :pick $currentBuf ($currentLineCount-1) ] message ]"; # функция отправки email :local sndEmail [:parse "/tool e-mail send to=email@domain.com subject=\"MikroTik alert $currentTime\" body=\"$output\" tls=yes"]; # функция звукового сигнала :local doBeep [:parse ":beep;:delay 150ms;:beep;"]; # если lastTime ещё не задан (длина 0 — например, после перезагрузки) :if ([:len $lastTime] < 1 ) do={ # обновляем lastTime на currentTime :set lastTime $currentTime ; # отправляем письмо и звуковой сигнал $sndEmail; $doBeep; # если lastTime уже есть, продолжаем } else={ # если lastTime не совпадает с последним временным штампом :if ( $lastTime != $currentTime ) do={ # обновляем lastTime :set lastTime $currentTime ; # отправляем письмо и звуковой сигнал $sndEmail; $doBeep; } } } |
|
|
|
11.07.2014 16:27:00
Рекс, ты настоящий! Если будешь продолжать решать мои проблемы, придётся взять тебя на работу. Очень благодарен!
|
|
|
|
11.07.2014 17:18:00
Думаю, на данном этапе сценарий нужно переписывать с нуля…
|
|
|
|
11.07.2014 22:40:00
Я поискал для тебя, почитай эту старую тему, там я выложил скрипт, чтобы сделать то, что тебе нужно. Не забудь прочитать всё!!!
|
|
|
|
12.07.2014 07:00:00
Рассчитываю на это)
|
|
|
|
17.12.2014 15:41:00
Ты планируешь опубликовать этот новый скрипт в этой теме или на форуме? Было бы здорово
![]() |
||||
|
|
|||
Читают тему