Этот скрипт позволит с помощью cron периодически проверять локальный или удаленный порт на его наличие. Если порт отсутствует, администратор должен получить уведомление.
Скрипт
Итак, запишем сценарий в любой удобный вам файл. Например, в /root/scripts/test_80
1
|
|
Текст скрипта:
1 2 3 4 5 6 7 8 9 10 |
|
Расшифровка
Все просто, не так ли? Вы указываете нужный вам хост (удаленный IP, hostname.com или 127.0.0.1). Во второй строке после in укажите нужный вам порт. Например, 80 для проверки работы веб-сервера. Далее программа netcat (nc) будет проверять наличие открытого порта. Учтите, что в некоторых дистрибутивах nc нужно заменить на netcat. Опция -w добавлена, чтобы указать таймаут. В нашем случае, если порт не отвечает 4 секунды, то он считается закрытым. В одной из строк, содержащей команду mail, не забудьте указать свой верный почтовый адрес. Если порт не будет обнаружен, то вам будет выслано уведомление.
Проверка
После того, как скрипт будет исправлен так, как вам нужно, запустите его вручную, указав заведомо закрытый порт. Вам нужно таким образом проверить, приходят ли письма или они уходят в папку СПАМ (например gmail очень любит резать не совсем корректные письма).
Прописка в CRON
Если все приходит как надо, укажите этот скрипт в CRON
1
|
|
Как это сделать, указано на этой странице. Данная строка поставит скрипт на ежеминутное исполнение. Если ваш сервис перестанет отвечать, в течение минуты вы получите уведомление.