#!/bin/sh# СКРИПТ ПРОВЕРКИ РАБОТЫ И АКТИВНОСТИ ИНТЕРНЕТ СОЕДИНЕНИЯ
# ОПРЕДЕЛЯЕМ ПЕРЕМЕННЫЕ, ПУТИ ДО ЛОГ-ФАЙЛОВ И ИСПОЛНЯЕМЫХ СКРИПТОВ
# ПУТЬ ДО ЛОГ-ФАЙЛА
LOG="/var/log/check_inet.log"
# ОПРЕДЕЛЯЕМ СЕРВЕР ДЛЯ ПРОВЕРКИ ДОСТУПНОСТИ ИНТЕРНЕТА
SERVER="8.8.8.8"
# ОПРЕДЕЛЯЕМ ПУТЬ ДО ИСПОЛНЯЕМОГО ФАЙЛА ПРОГРАММЫ PING
PING="/sbin/ping"
# ОПРЕДЕЛЯЕМ ПУТЬ ДО ИСПОЛНЯЕМОГО ФАЙЛА ПРОГРАММЫ REBOOT
REBOOT="/sbin/reboot"
# ОПРЕДЕЛЯЕМ ПУТЬ ДО СКРИПТА РЕСТАРТА MPD
MPD_RESTART="/usr/local/etc/rc.d/mpd4"
# ОПИСЫВАЕМ ФУНКЦИИ
# РЕСТАРТ MPD
mpd_restart() {
if [ -x ${MPD_RESTART} ]; then
echo "$(date +%d-%m-%y\ %H:%M:%S) РЕСТАРТ MPD НАЧАТ" >> ${LOG}
else
echo "$(date +%d-%m-%y\ %H:%M:%S) ОШИБКА! СКРИПТ РЕСТАРТА MPD НЕ НАЙДЕН! --> ВЫХОД" >> ${LOG}
exit 2
fi
${MPD_RESTART} restart >/dev/null 2>/dev/null
echo "$(date +%d-%m-%y\ %H:%M:%S) РЕСТАРТ MPD УСПЕШНО ОКОНЧЕН" >> ${LOG}
restart
return 0
}
# ПРОВЕРКА СЕРВЕРА НА ДОСТУПНОСТЬ ЧЕРЕЗ PING
ping_server() {
${PING} -q -c1 -t1 -s0 ${SERVER} >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
echo "$(date +%d-%m-%y\ %H:%M:%S) ТЕСТ PING ${SERVER} УСПЕШНО ВЫПОЛНЕН!" >> ${LOG}
exit 0
else
echo "$(date +%d-%m-%y\ %H:%M:%S) ОШИБКА! ТЕСТ PING ${SERVER} НЕУДАЧНО! --> РЕСТАРТ MPD" >> ${LOG}
mpd_restart
fi
return 0
}
# ПРОВЕРКА ИНТЕРНЕТА ПОСЛЕ РЕСТАРТА MPD
restart() {
${PING} -q -c1 -t1 -s0 ${SERVER} >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
echo "$(date +%d-%m-%y\ %H:%M:%S) ТЕСТ PING ${SERVER} ПОСЛЕ РЕСТАРТА MPD УСПЕШНО ВЫПОЛНЕН!" >> ${LOG}
exit 0
else
echo "$(date +%d-%m-%y\ %H:%M:%S) КРИТИЧЕСКАЯ ОШИБКА!! ДВА ТЕСТА НЕУДАЧНО!! --> REBOOT НАШЕГО СЕРВЕРА" >> ${LOG}
${REBOOT}
fi
return 0
}
# СТАРТ - ОБЩЕЕ НАЧАЛО РАБОТЫ СКРИПТА
echo "=============================================================" >> ${LOG}
echo "$(date +%d-%m-%y\ %H:%M:%S) СТАРТ ПРОВЕРКИ ДОСТУПНОСТИ ИНТЕРНЕТА" >> ${LOG}
ping_server
exit 0