![]() |
Скрипт для проверки доступности порта хоста и отправки мейла при недоступности
Доброго времени суток всем. Есть задача, но недостаток знаний и отсутствие знакомых у кого спросить затрудняют ее решить. Есть несколько удаленных хостов, которые должны быть доступны по определенным портам. Нужен скрипт, который бы опрашивал их по очереди с некоторым интервалом и при ответе от хоста порт закрыт, слал бы на email сообщение, мол так и так не работает.
Погуглив немножко и почитав этот форум наткнулся на несколько подходящих кусков для решения моей задачи. Но вот как соединить эти куски и возможно ли это я пока не знаю. Прошу совета. есть консольная утилита blat запускаю так blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "tekst_soobscheniya" Blat не работает с SSL, поэтому в промежутке стоит костыль stunnel с настройками cert = stunnel.pem fips = no ;TLS_PROTOCOL=SSL23 sslVersion = all options = NO_SSLv2 ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 ; Some debugging stuff useful for troubleshooting debug = 7 output = stunnel.log ; GMail client=yes ; POP3 service, listens on localhost:11110 [gmail-pop3s] accept=127.0.0.1:11110 connect=pop.mail.ru:995 ; SMTP service, listens on localhost:11025 [gmail-smtps] accept=127.0.0.1:11025 connect=smtp.mail.ru:465 эта связка работает далее гениальная консольная nmap nmap.exe -p 8000 93.157.232.ххх которая выдает ЕСЛИ ПОРТ ОТКРЫТ PORT STATE SERVICE 8000/tcp open ЕСЛИ ПОРТ ЗАКРЫТ PORT STATE SERVICE 8000/tcp close ЕСЛИ БЛОЧИТ ФАЙЕРВОЛ PORT STATE SERVICE 8000/tcp filtered идея в BATнике прописать nmap.exe -p 8000 93.157.232.хх1 IF ответ = PORT STATE SERVICE 8000/tcp open ТО ничего не делать ELSE goto: mail1 nmap.exe -p 8001 93.157.232.хх2 IF ответ = PORT STATE SERVICE /tcp open 8001 ТО ничего не делать ELSE goto: mail2 ЗАЦИКЛИТЬ :MAIL1 blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "не отвечает сервер 1" :MAIL2 blat.exe -server 127.0.0.1 -port 11025 -f mymail@mail.ru -u mymail@mail.ru -pw mypassword -to mymail@mail.ru -subject testmail -body "не отвечает сервер 2" по частям работает, а вот как это в одно целое собрать не знаю. I NEED HELP!!! |
А zabbix, cacti - поднять -не?
|
примерно так ...
Код:
... |
Спасибо за ответ. На днях попробую.
|
Время: 10:50. |
Время: 10:50.
© OSzone.net 2001-