Ich glaube, Curl würde den Job machen. Ich schrieb in einem Skript:
#!/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
Das Problem ist hier, egal was ich tue. Ich kann nicht verhindern, dass das Folgende auf stdout gedruckt wird:
% Total % Received % Xferd Average Speed Time Time Time Current
Ich möchte, dass ein Cronjob dieses Skript ausführt, und wenn er eine solche Nachricht schreibt, erhalte ich jedes Mal eine E-Mail, wenn ich sie ausführe, weil etwas in Cron gedruckt wurde, auch wenn die Site möglicherweise in Ordnung ist.
Wie erhalte ich den Statuscode, ohne in stdout zu geraten? Dieser Code funktioniert nur, wenn der Bonus-Junk für die Standardausgabe mich daran hindert, ihn zu verwenden.