Если у вас есть отдельный сервер для запуска сценария проверки, то примерно так можно выполнить простой тест Ping, чтобы проверить, работает ли сервер:
#!/bin/bash
SERVERIP=192.168.2.3
NOTIFYEMAIL=test@example.com
ping -c 3 $SERVERIP > /dev/null 2>&1
if [ $? -ne 0 ]
then
# Use your favorite mailer here:
mailx -s "Server $SERVERIP is down" -t "$NOTIFYEMAIL" < /dev/null
fi
Вы можете периодически запускать скрипт.
Если у вас нет mailx, вам придется заменить эту строку любой почтовой программой командной строки, которую вы используете, и, возможно, изменить параметры. Если ваш оператор предоставляет адрес электронной почты для SMS, вы можете отправить его на этот адрес. Например, если вы отправите электронное письмо по адресу phonenumber @ txt.att.net, AT & T отправит письмо на ваш телефон.
Вот список сообщений электронной почты для SMS-шлюзов:
http://en.wikipedia.org/wiki/List_of_SMS_gateways
Если ваш сервер является общедоступным веб-сервером, есть несколько бесплатных сервисов для мониторинга вашего сайта и оповещения о его отключении, поищите в Интернете бесплатный мониторинг сайта, чтобы найти его.
Пинг является опцией, но во многих случаях машина сможет отправлять пинг-ответ, в то время как реальный сервер, на котором она работает, не работает. Лучше сделать сквозной тест. В приведенном ниже примере страница запрашивается с веб-сервера.
Если это веб-сервер, он будет выглядеть примерно так:
Если вы измените html-документ на php-документ и сделаете так, чтобы сценарий de php проверял такие вещи, как соединение с базой данных, файловые системы и т. Д., Вы даже можете протестировать больше аспектов сервера. Таким образом, вы можете запустить упреждающий мониторинг компьютера (посмотрите на проблемы, прежде чем они приведут к сбою сервера).
Аналогично проверке почтового сервера, но вместо запроса веб-страницы вы просто отправляете электронное письмо через почтовый сервер и проверяете, получаете ли вы его в своем почтовом ящике.
источник
Вот как я решил ту же проблему
источник
/usr/bin/mail -s "$SERVER went down" "$SENDEREMAIL" "$SMSEMAIL"
.Я очень рекомендую использовать Nagios , это инфраструктура для мониторинга и оповещения о любом сервисе, который вы хотите (доступно много плагинов, и вы можете написать свой). Конечно, он может выполнять простые эхо-запросы для проверки доступности серверов, но, как отмечали другие, лучше вместо этого проверять доступность сервисов (например, Интернет, электронная почта и т. Д.) (Что nagios может сделать легко).
источник