Проверка живучести сайта
Проверка на живучесть различных хостов у меня реализована на smokeping.
Нужно было проверять живучесть сайта не только на хттп ответ и пинг, но и на содержимое.
Скорее всего это можно было сделать и в smokeping, но я решил сделать быстрее:
#!/bin/sh
# Пингаем сайт через 1 внешний канал
test1=`ping -c 3 mysite.com | grep seq=2`
# Пингаем через второй канал, вдруг первый упал
test2=`ping -c 3 192.168.10.244 | grep seq=2`
# Проверяем был-ли ответ хоть по одному каналу
if [ -z “$test1” ] && [ -z “$test2” ];
then
mail -s “No ping to mysite.com – it can be a problem with our Internet-channel” site.alert@mydomain.com < /usr/local/etc/mail.txt
exit 0
fi;# Если пинг прошел – проверяем сайт на наличие конкретного содержимого (у меня это содержимое выбирается из базы, т.е. если сайт лег по причине неработоспособности базы или движка – это будет видно)
test3=`/usr/local/bin/curl -s “http://mysite.com/contact-us.aspx” | grep job | awk ‘{ print $0 }’`
#test=`curl -s “http://mysite.com/about-us.aspx” | grep job | awk ‘{ print $0 }’`
#echo $test
if [ -z “$test3” ];
then
# echo FAILURE!!!
mail -s “The site mysite.com is down!” site.alert@mydomain.com < /usr/local/etc/mail2.txt
echo “ok” > /usr/local/etc/site.tmp
elif [ -f /usr/local/etc/site.tmp ];
then
# echo OK!!!
rm /usr/local/etc/site.tmp
mail -s “The site mysite.com is working now!” site.alert@mydomain.com < /usr/local/etc/mail.txt
fi;
# Если было обнаружено, что сайт лежит – взводится флаг (файл site.tmp) и отправляется сообщение, если сайт заработал – флаг снимается и отправляется сообщение, что все ок.
FreeBSD ports update D-Link 2100AP – автоматизация рутины