Всем привет, Есть у меня сервис, который мониторит специфический урл, и при наличии определенной строки должен выдавать статус ОК (exit 0), при отсутствии - Critical (exit 2). Но проблема в том, что статус постоянно ОК, даже если Status Information от ошибки Critical. При проверке из консоли echo $? возвращает 2 (и 0 соответственно если условия верные). Вот сам скрипт:
#!/bin/bash
TF=/tmp/check_string
# Check for host name, www.comp.net must be checked from other.comp.net
if [ $HOSTNAME = "other.comp.net" ]
then
HHOST='www.comp.net'
else
HHOST=$HOSTNAME
fi
# Check specified URL 2 times and write results into temp file
for i in 1 2
do
curl -L -s -o $TF $HHOST/$1 >/dev/null
sleep 5
done
# Здесь строки, которые должны присутствовать в выдаче
RES=`grep -i "\"vasilii\": \"pupkin\"" $TF | sed 's/://g'`
# ass написано специально чтобы сгенерировать ошибку
if [ "$RES" == "\"ass\" \"pupkin\"" ]
then
echo "OK! String found on $HHOST"
exit 0
else
echo "Error! String not found! Developers!!!"
exit 2
fi
Спасибо.