如何创建一个 cron 作业来监控端口的状态?

如何创建一个 cron 作业来监控端口的状态?

我正在尝试创建一个 cron 作业,以便我监视特定端口的状态,并在其从监听状态转变为其他状态时通过电子邮件发送通知。

答案1

在最简单的情况下,您可以运行如下命令:

lsof -i :22 | grep LISTEN

因此,要使其每 5 分钟运行一次,并在端口未监听时发送电子邮件,请将其添加到您的 crontab 中:

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

当然,这假设您已经为该mail命令设置了您的机器。

答案2

退出代码nc -z localhost port_num(其中port_num是您要检查的端口)可能在这里有用。如果nc可以连接到端口,则退出代码为0;否则,退出代码为1

您还可以添加-v选项来打印结果。

相关内容