3 # Данный скрипт производит мониторинг СТГ-сервера на зависание и в 
 
   4 # случае его зависания перезапускает.
 
   5 # Для работы скрипта в настройках СТГ должен быть указан параметер
 
   7 # Скрипт отрабатывает один раз и выходит. Т.е. он не работает постоянно 
 
   8 # и следит за СТГ. Его нужно вызывать по крону или как-то еще с нужной
 
  12 # Путь к файлам монитора. Должен совпадать со значением MonitorDir 
 
  13 # в настройках сервера
 
  14 MONITOR_DIR=/var/stargazer/monitor/
 
  17 # Максимальная задержка обновления файлов монитора в секундах.
 
  18 # При привышении этого значения сервер считается зависшим и будет 
 
  25 declare -i now=`date +%s`
 
  27 declare -i file_time=0
 
  29 stg_running=`ps ax | grep stargazer`
 
  30 if [ -z "$stg_running" ]
 
  32     echo "Stargazer is not running"
 
  36 #wakeuper for traffcounter
 
  37 ping -c 1 127.0.0.1 > /dev/null
 
  40 for mon in $MONITOR_DIR/*
 
  44         echo "no monitor files"
 
  47     file_time=`stat -c%Y $mon`
 
  49     if (( $now - $file_time > $DT )) 
 
  51         echo "Stargazer is deadlocked!"
 
  53         # Команда остаовки СТГ
 
  54         killall -KILL stargazer
 
  60         /etc/init.d/stargazer start