カールがそのことができると思います。私はスクリプトに次のように書きました。
#!/bin/sh
function test {
res=`curl -I $1 | grep HTTP/1.1 | awk {'print $2'}`
if [ $res -ne 200 ]
then
echo "Error $res on $1"
fi
}
test mysite.com
test google.com
ここでの問題は、私が何をしても、次のものを標準出力に印刷するのを止めることができないことです。
% Total % Received % Xferd Average Speed Time Time Time Current
私はcronjobがこのスクリプトを実行したいと思います。これがこのようなメッセージを書くと、実行するたびにウェブサイトが大丈夫ですが、cronの標準出力に何かが印刷されたため、電子メールが届きます。
標準出力にゴミを入れずにどのようにステータスコードを取得できますか?このコードは、stdoutでの使用を妨げる追加のゴミを除いて動作します。
ベストアンサー1
-s/--silent
Silent or quiet mode. Don't show progress meter
or error messages. Makes Curl mute.
したがって、あなたのリソースは次のようになります
res=`curl -s -I $1 | grep HTTP/1.1 | awk {'print $2'}`
Error 301 on google.com
たとえば、結果は次のようになります。