Мониторить сервер можно так: создадим bash-скрипт, который будет проверять ответ заголовков с помощью curl. Ответ сохраню в temp файле. При ошибке отправлю письмо.
#!/bin/bash
tmp_file=$(mktemp)
# параметр -L делает переход по редиректам
curl -I -L 'phpjs.ru' >> tmp_file
resp=$(cat tmp_file)
if [[ "${resp}" == "" ]]; then
#statements
echo 'err resp var not founded!!'
#exit 1
fi
rm -rf tmp_file
if echo "${resp}" | grep 'HTTP/1.1 200 OK' > /dev/null ; then
echo 'GOOD!'
#exit 0
else
/usr/bin/php -r "echo(mail( 'recipient@mail.ru' , 'server not working' , 'server not working' , 'From: sender@gmail.com'));"
/usr/sbin/sendmail -t 'recipient@mail.ru' < /home/user/mail.txt
echo 'error!'
#exit 1
fi
И запись в крон
0 * * * * sh /home/user/check_server.sh > /dev/null
не забываем
service crond restart
mail.txt
Subject: server error!!!
From: user@vaajnur.novalocal
Content-Type: text/html; charset="utf8"
<html>
<body>
<div style="
background-color:
red; width: 300px;
height: 300px;
">server error!!!</div>
</body>
</html>