проверка сервера на bash

Мониторить сервер можно так: создадим 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

Leave a comment

Your email address will not be published.


*