3

我有一个小型 vps,在其中托管我开发的 Web 应用程序,它开始获得大量访问。

我需要每隔 X 分钟检查/验证网络是否已启动并运行(检查状态代码,200)或是否已关闭(代码 500),如果已关闭,则重新启动运行我的脚本重新启动一些服务。

知道如何在linux中检查吗?卷曲,猞猁?

4

4 回答 4

2
curl --head --max-time 10 -s -o /dev/null \
    -w "%{http_code} %{time_total} %{url_effective}\n" \
    http://localhost

10 秒后超时,并报告响应代码和时间

如果请求超时,Curl 将退出并返回错误代码 28(检查 $?)

于 2012-04-19T13:05:49.647 回答
1

在姐妹网站(serverfault)上找到这个 https://serverfault.com/questions/124952/testing-a-website-from-linux-command-line

wget -p http://site.com

这似乎可以解决问题

于 2012-04-19T12:54:13.880 回答
1

对于这样的问题,man工具的页面通常会提供所有可能选项的一个很好的列表。

因为curl你也可以在这里找到它。

您似乎搜索的选项-whttp-code variable.

编辑:

请参阅@Ken 对如何使用的回答-w

于 2012-04-19T13:01:15.903 回答
-1

好的,我创建了两个脚本:

  1. site-statush.sh http://yoursite.com =>检查站点状态,如果为 200,则不执行任何操作,否则调用services-action.sh 重启
  2. services-action.sh restart =>重新启动 $services 中指示的所有服务

查看https://gist.github.com/2421072

于 2012-04-19T13:51:01.077 回答