【发布时间】:2011-05-04 23:53:12
【问题描述】:
可能重复:
Is Tomcat running?
你好,
我在虚拟机中安装了 tomcat 服务器。我想每天检查 tomcat 服务器,它是否正在运行。如果它正在运行,它会将邮件发送到我的邮件 ID。我是如何实现的?
我可以通过使用批处理文件来做到这一点
谢谢 壁画
【问题讨论】:
可能重复:
Is Tomcat running?
你好,
我在虚拟机中安装了 tomcat 服务器。我想每天检查 tomcat 服务器,它是否正在运行。如果它正在运行,它会将邮件发送到我的邮件 ID。我是如何实现的?
我可以通过使用批处理文件来做到这一点
谢谢 壁画
【问题讨论】:
对此有多种答案,具体取决于您所说的“跑步”。例如,@dogbane 的答案告诉您是否存在 Tomcat 进程(模数边缘情况),@Prabhakaran 的答案告诉您 Tomcat 是否正在侦听端口 8080(模数不同的边缘情况)。但是这些都不会出现 Tomcat 停止响应请求的情况。
@Elite 的回答会告诉您默认(例如 ROOT)servlet 是否正在运行,但这可能还不够。
我推荐以下方法:
curl 或wget 发送请求网址。如果您在 UNIX/Linux 平台上运行,这种事情比在 Windows 上运行更容易,因为您需要实现它的工具应该已经安装,或者使用包管理器很容易安装。
1 - 实际上,这是向自己发送垃圾邮件的秘诀。更好的想法是部署一个事件监控系统,了解系统状态,进行重复抑制等。
【讨论】:
如果 tomcat 正在运行,最简单的方法(独立于平台)是在任何 Web 浏览器中键入此 URL(假设您的 http 端口配置为“80”):http://localhost:8080/。您可以将 localhost 更改为选择的任何主机服务器。这将打开一个带有以下消息的 Tomcat 页面:
如果您通过网络浏览器看到此页面,则表示您已设置 Tomcat 成功地。恭喜!
否则 netstat 并查看端口 8080 上是否运行任何东西。
PS 我刚刚读到您想在未运行时发送电子邮件通知,最好的方法是创建一个定期 1)侦听端口 8080 或 2)查找 tomcat 进程是否正在运行的作业启动并运行。未能满足 1) 或 2) 向系统管理员发送电子邮件。
【讨论】:
您可以运行以下脚本来检查 $CATALINA_PID 文件中存在的 tomcat pid 的状态。如果 pid 已失效,则会发送一封电子邮件。
kill -0 `cat $CATALINA_PID` > /dev/null 2>&1
if [ $? -gt 0 ]
then
echo "Check tomcat" | mailx -s "Tomcat not running" support@dom.com
fi
【讨论】:
如果你的tomcat是linux环境,那么你可以使用netstat命令来检查tomcat的监听端口8080,并使用shell脚本发送邮件
【讨论】: