用于检查公共 HTTPS 站点是否已启动的 Bash 脚本

Leg*_*ego 11 linux bash

我正在尝试为 bash 脚本设置另一个代码块,以检查 HTTPS 上的公共网站是否已启动。我们可以使用 CURL 来做到这一点吗?除了 CURL 之外,还有什么可以使用的建议。谢谢

Dan*_*ner 17

其中之一:

if curl -s --head  --request GET https://example.com | grep "200 OK" > /dev/null; then 
   echo "mysite.com is UP"
else
   echo "mysite.com is DOWN"
fi
Run Code Online (Sandbox Code Playgroud)


spu*_*der 5

这是一种使用 wget 代替 curl 的方法。请记住,MacOS 默认不附带 wget。

成功的 Web 请求将返回 200 代码,失败将返回 300、400、404 等...(请参阅REST API 代码

1如果 Web 请求成功,此行将返回 a ,否则将返回0

wget -q  -O /tmp/foo google.com | grep '200' /tmp/foo | wc -l
1
Run Code Online (Sandbox Code Playgroud)

  • 您可以只使用“wget”而不使用临时文件:“wget --spider --server-response google.com 2>&1 | grep '200\ 确定' | wc -l `. `--server-response` 打印标题,`--spider` 阻止下载页面本身。 (3认同)
  • `头google.com | grep '200\ OK' | wc -l` 避免临时文件。 (2认同)