Написать скрипт на bash'е для проверки портов серверов

компьютеры программирование Linux bash nmap

в общем задача, необходимо по крону запускать скрптик который сканирует nmap'ом разные порты разных серваков на предмет открытости и если вдруг оной не обнаруживает выполняет некоторую операцию. в которую передает список портов и серваков которые не ответили

Примечание:
eugene pazhitnov, спасибо. это именно то что я хотел. осталось только понять неокторые моменты, опыта написания команд в одну строку у меня мало. можно немного прокомментировать то что делает твой скрипт?
for a in $(<servers.txt); - для каждой записи в файле выполняем нмап
do nmap `echo $a - что здесь значит переменная а, откуда она берется???
| sed -e 's/:/ -p /'` заменяем двоеточие на -p
| grep -q "/tcp *open " - отбираем строки которые не содержат tcp open .. хм тут тоже непонятно :)
|| echo $a; done > /tmp/serverlist; если все пучком ... тоже непонятно что за done
[ -z /tmp/serverlist ] || cat /tmp/serverlist - test на непустой файл, если все пучком выводим его.

Примечание:
похоже проверка на пустоту не работает :( (-z)

Примечание:
я сделал [ -z $(cat /tmp/serverfile) ] || итд )
nagios поставил, щас мучаю. вроде хорошая штука, но больно навороченая. чтобы проверить кучку портов по компам приходится слишком много всего прописывать по конфигам ( но пользоваться буду ) спасибо за помощь.
Ответы:
nmap сервер порт|grep closed
както так.
можно не nmap использовать, а, например, nc, тогда можно сделать так:
Судя по вопросу, у KiLEX нет проблем с пониманием принципом работы, и команда grep ему хорошо известна наверняка, нужна конкретика, поэтому решу задачку буквально:
Вообще тестировал вчера на приведённом примере (плюс несколько заведомо неработающих хостов) -- делало всё как надо. К сожалению ВиО гугля не позволяют красиво оформлять код: съедаются отступы в начале строк, но Вы всё разбили правильно. К слову, этот скрипт проще и нагляднее оформить в несколько строк.
> похоже проверка на пустоту не работает :( (-z)
Упс, willrain совершенно прав! Таки маны надо читать-читать :-)


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.