我有一个小的VPS,用来托管我开发的Web应用程序,现在开始接收大量访问。
我需要每隔X分钟检查/验证网站是否正常运行(检查状态码200)或者是否宕机(状态码500),如果宕机,则运行我编写的脚本来重新启动一些服务。
在Linux中如何进行检查呢?使用Curl、Lynx还是其他方式?
我有一个小的VPS,用来托管我开发的Web应用程序,现在开始接收大量访问。
我需要每隔X分钟检查/验证网站是否正常运行(检查状态码200)或者是否宕机(状态码500),如果宕机,则运行我编写的脚本来重新启动一些服务。
在Linux中如何进行检查呢?使用Curl、Lynx还是其他方式?
curl --head --max-time 10 -s -o /dev/null \
-w "%{http_code} %{time_total} %{url_effective}\n" \
http://localhost
在10秒后超时,并报告响应代码和时间
如果请求超时(检查$?),Curl将以错误代码28退出
curl
就是解决方案。 - Alex在一个姐妹网站(serverfault)上发现了这个: https://serverfault.com/questions/124952/testing-a-website-from-linux-command-line
wget -p http://site.com
这似乎可以解决问题
man
页面通常提供了所有可能选项的很好列表。curl
,您也可以在这里找到它。-w
和http-code variable
。-w
。curl
。 - Alex好的,我创建了两个脚本: