3つのURLが機能していることを確認するスクリプトを作成しました。ダウンした場合は、URLがダウンして無効になったことを知らせるメッセージを送信する必要があります。
問題は私が何か間違っていましたが、今でも出力に常に「URLが機能しています」と表示されることです。
ちなみに、私たちはnginxを使用しているので、grep "http 302found"出力が出てくるのはなぜですか?
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