![URLが動作していることを確認するスクリプト[閉じる]](https://linux33.com/image/59074/URL%E3%81%8C%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
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