我编写了一个脚本来检查我们的三个 URL 是否已启动。如果它们已关闭,我将需要发送一条消息,说明该 URL 已关闭且不活动。
问题是,我做错了什么,现在在任何情况下我的输出总是显示“URLs is up”
仅供参考..我们使用 nginx,因此为什么我有 grep “http 302 found”的输出
if curl -k --head $URL1 | grep "302 Found" && curl -k --head $URL1 | grep "302 Found" && curl -k --head $URL1 | grep "302 Found"
then
echo "All The URLs are up!"
else
echo " all url is down "
fi
答案1
尝试一下。
#!/bin/bash
for URL in <url1> <url2> <url3>
do
STATUS=$(curl -s -o /dev/null -w "%{http_code}\n" $URL)
if [ $STATUS == 302 ] ; then
echo "$URL is up, returned $STATUS"
else
echo "$URL is not up, returned $STATUS"
fi
done