Einer von vielen:
if curl -s --head --request GET https://example.com | grep "200 OK" > /dev/null; then
echo "mysite.com is UP"
else
echo "mysite.com is DOWN"
fi
Hier ist eine Möglichkeit, dies mit wget anstelle von curl zu tun. Denken Sie daran, dass MacOS standardmäßig nicht mit wget geliefert wird.
Eine erfolgreiche Webanforderung gibt einen Code von 200 zurück, ein Fehler gibt 300, 400, 404 usw. zurück (siehe REST-API-Codes)
Diese Zeile gibt ein 1
zurück wenn die Webanfrage erfolgreich war, wird andernfalls 0
zurückgegeben
wget -q -O /tmp/foo google.com | grep '200' /tmp/foo | wc -l
1
Das check_http-Plugin von Nagios kann dies und noch viel mehr, einschließlich der Prüfung auf bestimmten Text in der Antwort. Sie können es unabhängig von Nagios selbst von einem Shell-Skript ausführen:
$ check_http --ssl -H www.google.com -r 'Feeling Lucky'
HTTP OK: HTTP/1.1 200 OK - 11900 bytes in 0.086 second response time |time=0.085943s;;;0.000000 size=11900B;;;0
$ echo $?
0