Как создать задание cron для мониторинга состояния порта?

Я пытаюсь создать задание cron, которое позволило бы мне отслеживать состояние определенного порта и отправлять уведомления по электронной почте, в то время как он переходит из состояния прослушивания в другое состояние.

2 ответа

Решение

В простейшем случае вы можете запустить команду, подобную этой:

lsof -i :22 | grep LISTEN

Итак, чтобы он запускался каждые 5 минут и отправлял электронное письмо, если порт не прослушивает, добавьте его в ваш crontab:

*/5 * * * * lsof -i :22 | grep LISTEN || echo "Not listening" | mail [email protected]

Это, конечно, предполагает, что вы уже настроили свою машину для mail команда.

Код выхода nc -z localhost port_num, где port_num порт, который вы хотите проверить, может быть полезным здесь. Если nc можно подключиться к порту, тогда код выхода 0; в противном случае код выхода 1,

Вы также можете добавить -v возможность получить распечатку результата.

Другие вопросы по тегам