Сейчас просматривают тему: 0 -> --, и гостей: 1

openwrt-mr-mips-rootfs-31411-basic.tar.gz

Ссылка на пост #1 Добавлено: 11 декабря 2014 00:49
Автор темы
Макс
Администраторы
Азъ: библиАтекарь
Возраст: 41 Водолей
Пол:
С нами: 16 лет 5 месяцев
Сообщений: 10591
Поблагодарил: 7245
Благодарностей: 27408
Предупреждений: 0

Награды:

       

Скрипт предназначен для мониторинга состояния хостов по портам в локальной сети или интернет.
Для использования данного скрипта необходимо воспользоваться возможностью создания виртуальной системе на роутерах Mikrotik
Для начала импортируем образ openwrt-mr-mips-rootfs-31411-basic.tar.gz в качестве операционной системы (как это сделать опишем в другой статье, советуем поискать в интернете, есть описания с картинками)
После чего нам понадобиться редактор nano (по желанию), обязательно пакет msmtp – для отправки почты с Mikrotik и сам скрипт.
Код:[Выделить]
opkg install nano opkg install msmtp


Закидываем все в каталог /www/ping/ и даем права на выполнение всем файлам каталога.
Код:[Выделить]
chmod 755 -R /www/ping/


Сам скрипт /www/ping/monitor:

Код:[Выделить]
DATENOW=$(date +%d-%m-%Y--%T) echo "Subject: Monitoring hosts sms Mikrotik" > /www/ping/mail echo "From: mail@hd.zp.ua.ru" >> /www/ping/mail ### Создаем при каждом запуске скрипта шапку письма echo "To: mail@hdtv.zp.ua" >> /www/ping/mail echo "CC: mail2@hdtv.zp.ua" >> /www/ping/mail echo "" >> /www/ping/mail echo "server time is $DATENOW" >> /www/ping/mail ### Делаем выборку из nmap 5 раз с задержкой 5 секунд результат открытости порта for i in 1 2 3 4 5 do cat /www/ping/servers | while read a; do /usr/bin/nmap `echo $a | sed -e 's/:/ -p /'` | grep -q "/tcp *open " || echo $a done >> /www/ping/serverlist_n echo "Console number is $i" sleep 5; done ### Сортируем записи недоступных портов и копируем уникальную запись для отправки в тело письма /usr/bin/sort -u /www/ping/serverlist_n > /www/ping/serverlist ### Проверяем количество ошибок в запросе, если равен 5 - то сообщаем о проблеме, если меньше - считаем что неполадки в интернете if [[ $(cat /www/ping/serverlist_n | /usr/bin/wc -w) -ge 5 ]] then cat /www/ping/serverlist >> /www/ping/mail echo "" >> /www/ping/mail echo "serv" else echo "All OK" >> /www/ping/mail echo "" >> /www/ping/mail echo "ok" fi ### Проверяем не пропал ли интернет if [[ $(cat /www/ping/servers | /usr/bin/wc -w) -eq $(cat /www/ping/serverlist | /usr/bin/wc -w) ]] then cat /dev/null > /www/ping/serverlist_n echo "lost internet" exit 1 fi ### Если статус доступности порта изменился - сообщаем об этом на e-mail (при абсолютном значении) + заносим запись в лог a=`expr $(cat /www/ping/serverlist_n | /usr/bin/wc -w) % 5` b=`expr $(cat /www/ping/serverlist_old | /usr/bin/wc -w) % 5` if [[ $(cat /www/ping/serverlist_old | /usr/bin/wc -w) -ne $(cat /www/ping/serverlist_n | /usr/bin/wc -w) && $a -eq 0 && $b -eq 0 ]] then cat /www/ping/serverlist_n | /usr/bin/wc -w >> /www/ping/mail cat /www/ping/serverlist_old | /usr/bin/wc -w >> /www/ping/mail /www/ping/sendmail > /dev/null echo "------------" >> /www/ping/log echo $DATENOW >> /www/ping/log cat /www/ping/serverlist >> /www/ping/log cat /www/ping/serverlist_n | /usr/bin/wc -w >> /www/ping/log cat /www/ping/serverlist_old | /usr/bin/wc -w >> /www/ping/log echo "------------" >> /www/ping/log echo "send" fi ### заносим данные в архив для проверки измненения if [[ $a -eq 0 ]] then cat /www/ping/serverlist_n > /www/ping/serverlist_old echo "end" fi cat /dev/null > /www/ping/serverlist_n exit fi


Файл конфига тулзы msmtp, для отправки почты через внешний smtp почтовый сервер:
nano /www/ping/sendmail

Код:[Выделить]
MAIL_SERVER=smtp.mail.ru MAIL_PORT=465 MAIL_DATE=`date +"%d %b %Y %T"` MAIL_FROM=mail@mail.ru MAIL_TO=mail@hd.zp.ua MAIL_PASSWORD=pass cat /www/ping/mail | /usr/bin/msmtp --host=${MAIL_SERVER} --port=${MAIL_PORT} --tls=on --tls-certcheck=off --tls-starttls=off --auth=login --user=${MAIL_FROM} --passwordeval="echo ${MAIL_PASSWORD}" -f ${MAIL_FROM} ${MAIL_TO} -d


nano /www/ping/servers – список хостов для мониторинга
192.168.0.31:80
192.168.0.30:80
hd.zp.ua:80

собственно после проделанного, добавляем наш скрипт в crontab для выполнения, например раз в час.
Чаще не советую, из-за слабого процессора на Mikrotik
maxya Тётя шура тут
«Все постоянно твердят об авторских правах, но никогда - об авторских обязанностях.» © Жан-Люк Годар

Мой телевизор: Samsung LE-32C550J1WXUA, Samsung UE55D6100, Samsung UE65°ES8007

Мой ресивер: Sat-Integral S-1248 HD Heavy Metal, Vu+ Ultimo 4K

Мои спутники: 4°W+4.8°E+9°E+13°E+36°E+75°E+85°E+90°E

Cказали Спасибо: 1 : leha87
Похожие темы форума
Информация

Посетители, находящиеся в группе Гости, не могут оставлять сообщения в данной теме.

    XML error in File: https://www.tricolor.tv/rss/

    XML error: error parsing attribute name at line 390

Футбол

Ліга конференцій, 1/4 фіналу
18 квітня 2024
19:45 Лілль Лілль -:- Астон ВіллаАстон Вілла
19:45 Фіорентина Фіорентина -:- Вікторія ПльзеньВікторія Пльзень
22:00 ПАОК ПАОК -:- БрюггеБрюгге
Ліга Європи, 1/4 фіналу
18 квітня 2024
22:00 Марсель Марсель -:- БенфікаБенфіка
22:00 Вест Гем Вест Гем -:- Баєр ЛеверкузенБаєр Леверкузен
22:00 Рома Рома -:- МіланМілан
22:00 Аталанта Аталанта -:- ЛіверпульЛіверпуль
Ліга конференцій, 1/4 фіналу
18 квітня 2024
22:00 Фенербахче Фенербахче -:- ОлімпіакосОлімпіакос

Обновлено: 14:21 18.04.2024

Телепрограмма

СТБ
14:00 - "Слепая". Чужая судьба.
14:20 - "Слепая". Молчи!.
14:55 - "Слепая". Отцовская дочь.
15:20 - "Слепая". Месяц до Дня рождения.
Sport 1
14:00 -  Хоккей. U-18. Чемпионат мира во Фредериксхавне, Дания. Дивизион I A. Венгрия - Украина. Прямая трансляция.
16:40 - Бокс голыми кулаками. BKFC Fight Night Clearwater во Флориде, США.
17:00 - Футбол. Лига чемпионов Азии. 1/2 финала. Аль-Айн (ОАЭ) - Аль-Хиляль (Саудовская Аравия). Первый матч.
19:00 - Футбол. Кубок Португалии. 1/2 финала. Порту - Витория Гимарайнш. Ответный матч.
ICTV
14:00 - "Единые новости". Телемарафон.
15:00 - "Единые новости". Телемарафон.
16:00 - "Единые новости". Телемарафон.
17:00 - "Единые новости". Телемарафон.
Кинопремьера
13:10 - Х/ф "Луна".
15:20 - Х/ф "Остров".
16:50 - Х/ф "В ожидании Дали".
18:50 - Х/ф "Повелитель ветра".
Вся телепрограмма

Мы в Вконтакте

Мы в Facebook

Голосование

Какой у вас спутниковый ресивер?

VU+
Sat-Integral
SkyWay
Golden Media
Galaxy Innovations
Amiko
Tiger
Openbox
SkyGate
Dreambox
AZbox
Octagon
Opticum
Eurosat
Eurosky
Globo
Humax
General Satellite
Golden Interstar
Topfield
IPBox
Evolution
Kathrein
Technosat
Samsung
XCRUISER
DVB карта
другой ресивер

Случайное фото

Sat-integral club

Re: Шурик

Цитата: Pavel01 от Сегодня в 11:41:45Спасибо. Я в курсе. Это я спрашивал у профи. кто должен ...

Re: Пожелания разработчикам ПО Sat-Integral S-1412 HD Rocket / Sat-Integral S-1432

Поправте радио-онлайн. Не одна станция не работает. Можно воткнуть пакет станций радио рекорд.

Re: Шурик

Цитата: Yuriy Protas от Сегодня в 03:55:47Відкриває частково нтв+ на 36Е,майже весь ...

Re: Шурик

Цитата: Pavel01 от 28 марта 2024, 07:06:16Так почти всё и должно открываться. 53 и 56 скорее всего ...

Re: Шурик

Цитата: allexxx65 от Вчера в 20:45:58Вы не внимательно прочитали мой вопрос, который как раз и ...

PHP: mail() через внешние SMTP msmtp

Ситуация следующая. ...

webhook telegram Read timeout expired

Вы выполняете ...