我想编写一个脚本来使用 unix shell 脚本检查应用程序是否启动。
通过谷歌搜索,我找到了一个脚本wget -O /dev/null -q http://mysite.com
,但不确定它是如何工作的。有人可以解释一下吗?这对我很有帮助。
答案1
wget
是一个 HTTP 客户端,因此你正在向http://mysite.com。您必须检查wget
命令的退出状态:如果请求成功,则退出状态将为“0”,否则如果不成功。
因此,你的检查脚本可能看起来像这样:
#!/bin/bash
wget -O /dev/null -q http://mysite.com
if [ "$?" -ne "0" ]; then
echo "Web site is down!"
fi
如果您对 shell 脚本不太了解,最好使用类似 Pingdom 的执行检查的服务。
更新:
与其使用wget
,不如使用curl
。像这样:
curl -sL -w "%{http_code}" http://mysite.com -o /dev/null
这将返回 HTTP 响应代码,因此您可以进行更明显的受控比较(例如,curl 将返回 404,而 wget 将返回一些非零退出代码,您必须从文档中找出这些代码)