clever2v Опубликовано 9 января, 2017 Всем доброго времени суток, гуру скриптинга прошу вас о помощи: стоит задача организовать оповещение на эл. почту при появлении нового адреса в Адрес листе. Адрес лист пополняется с помощью правила в firewall, тайм аут записи 60 мин. Необходимо что бы каждый раз при появлении в адрес листе новой записи, отправлять на почту оповещения с тем IP который появился. Я дилетант в скриптописании, но код скрипта для отправки на почту осилил, в других скриптах он работает. Интересует прежде всего основная идея скрипта (как опрашивать адрес лист на предмет новой записи, или можно как то другим путем получать эти значения). Заранее спасибо за ответы Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
myth Опубликовано 9 января, 2017 А откуда он там берется? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 9 января, 2017 (изменено) clever2v, если скрипт будет запускаться раз в 5 минут, то выбирать из адреслиста записи с оставшимся таймаутом >55m минут (добавленные менее 5 минут назад). Если скрипт раз в минуту - выбирать по таймауту >59m. Затем слать оповещения как обычно. Изменено 9 января, 2017 пользователем nkusnetsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
clever2v Опубликовано 9 января, 2017 clever2v, если скрипт будет запускаться раз в 5 минут, то выбирать из адреслиста записи с оставшимся таймаутом >55m минут (добавленные менее 5 минут назад). Если скрипт раз в минуту - выбирать по таймауту >59m. Затем слать оповещения как обычно. Судя по англоязычной Вики в разделе ip/firewall/address lists доступны только два параметра "ADDRESS" и "LIST" с Ipшником и именем листа соответственно. Как скриптом забрать значение таймаута ума не приложу. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nkusnetsov Опубликовано 9 января, 2017 (изменено) clever2v, вот так читаем и выводим в консоль все таймауты из листа с именем "blacklist": :foreach i in=[/ip fi address-list find list=blacklist] do={:put [/ip fi ad get $i timeout]} Внутри {} стройте свою обработку на вкус. Если явного таймаута не задано - вернется пустое значение. Изменено 9 января, 2017 пользователем nkusnetsov Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
clever2v Опубликовано 10 января, 2017 clever2v, вот так читаем и выводим в консоль все таймауты из листа с именем "blacklist": :foreach i in=[/ip fi address-list find list=blacklist] do={:put [/ip fi ad get $i timeout]} Внутри {} стройте свою обработку на вкус. Если явного таймаута не задано - вернется пустое значение. Спасибо! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...