从 bash shell 监视自定义 Java HTTP 服务器?

dja*_*fan 2 linux bash init

如何从 bash shell 监视服务端口?

我想监视 Java 服务(在端口 9090 上每分钟一次),然后如果该服务没有响应简单的 HTML 消息,则调用“/etc/init.d/myservice -restart”。

你会怎么做这样的事情?

我的想法是使用类似的东西:

wget -O - --no-check-certificate --progress=dot https://localhost:9090
Run Code Online (Sandbox Code Playgroud)

或者

curl --insecure https://localhost:9090
Run Code Online (Sandbox Code Playgroud)

cor*_*ump 6

使用monit,它比为此编写 shell 脚本更安全。

如果您真的要编写脚本,请使用curl获取内容,grep 并在失败时重新启动服务。

  • Wget 是一个通过 http 和 ftp 下载东西的工具。`curl` 和 `libcurl` 是用于下载、检查/下载标头、cookie、**注入**标头和 cookie 到测试站点、更改用户代理的瑞士刀,它非常可配置,您几乎可以配置每个方面来执行很多操作您甚至无法想到使用像“wget”这样的下载器工具进行的测试。并不是说 `wget` 不好,它很棒,只是它不是某些工作的正确工具。 (4认同)