source: repoman/bin/opengnsys.cron @ 1d599bb

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 1d599bb was a36fbae, checked in by ramon <ramongomez@…>, 11 years ago

#621: Mejor detección del porcentaje de uso de CPU para evitar cuelgues del servidor.

git-svn-id: https://opengnsys.es/svn/branches/version1.0@4201 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100755
File size: 1.4 KB
Line 
1#!/bin/bash
2# opengnsys.cron - Script para comprobar si los servicios de OpenGnSys están levantados
3#                  e iniciarlos automáticamente.
4# Nota: este script debe ser lanzado por Cron cada minuto.
5
6
7# Variables.
8OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
9LOGDIR="$OPENGNSYS/log"
10DEFAULTFILE=/etc/default/opengnsys
11typeset -i OGCPU        # % uso CPU
12
13# Comprobar servicios que deben estar activos.
14[ -f $DEFAULTFILE ] && source $DEFAULTFILE
15
16# Comprobar si está activo el servidor OpenGnSys.
17if [ "$RUN_OGADMSERVER" == "yes" ]; then
18        # Parar procesos ogAdmServer si consume más de 90% de CPU.
19        OGPID=$(pgrep ogAdmServer)
20        OGCPU=$(top -b -n 1 -p $OGPID 2>/dev/null | awk -v p=$OGPID '$1~p {printf "%d",$9}')
21        if [ $OGCPU -gt 90 ]; then
22                date +"%d/%m/%Y %H:%M AVISO: ogAdmServer (PID=$OGPID) parado, consumiendo $OGCPU % de CPU" >> $LOGDIR/ogAdmServer.log
23                kill -9 $OGPID
24        fi
25        # Reiniciar servicios si proceso ogAdmServer está caído.
26        if ! pgrep ogAdmServer >/dev/null; then
27                date +"%d/%m/%Y %H:%M ERROR: El servicio ogAdmServer  estaba caido, se reinicia" >> $LOGDIR/ogAdmServer.log
28                /etc/init.d/opengnsys restart
29        fi
30fi
31# Reiniciar servicios si es repositorio y proceso ogAdmRepo está caído.
32if [ "$RUN_OGADMREPO" == "yes" -a $(pgrep ogAdmRepo | wc -w) == 0 ]; then
33        date +"%d/%m/%Y %H:%M ERROR: El servicio ogAdmRepo estaba caido, se reinicia" >> $LOGDIR/ogAdmRepo.log
34        /etc/init.d/opengnsys restart
35fi
36
Note: See TracBrowser for help on using the repository browser.