All pastes #2049046 Raw Edit

Stuff

public text v1 · immutable
#2049046 ·published 2011-04-21 16:16 UTC
rendered paste body
#!/bin/bash
 
######################
GDB_ENABLED=1
GDB="trinity.gdb"
COREPID="core.pid"
REALMPID="realm.pid"
 
CORE_CONFIG="../etc/worldserver.conf"
REALM_CONFIG="../etc/authserver.conf"
 
CORE_SCREEN_NAME="core"
REALM_SCREEN_NAME="realm"
 
date=`date "+%Y-%m-%d_%H:%M:%S"`;
TRACE_BEGIN_STRING="SIGSEGV"
TRACE_FILE="/var/www/$date_trace.log"
ERR_FILE="/var/www/error.log"
SYSLOG="/var/www/system.log"
SYSERR="/var/www/system.err"
######################
 
function checkStatus() {
        if [ -d "/proc/"$1 ]; then
                eval "TEST=1"
        else
                eval "TEST=0"
        fi
}
 
while :
do
        PID=$(cat $COREPID)
        checkStatus $PID
        if [ $TEST -eq 0 ]; then
                echo "Restarting Trinity Core ($date)"
                if [ $GDB_ENABLED -eq 1 ]; then
                        grep -B 10 -A 3000 "$TRACE_BEGIN_STRING" "$SYSLOG" > "$TRACE_FILE"
                        cat "$SYSERR" > "$ERR_FILE"
                        screen -A -m -d -S $CORE_SCREEN_NAME ./start core $GDB "$CORE_CONFIG" "$SYSLOG" "$SYSERR" 1
                fi
                
                if [ $GDB_ENABLED -eq 0 ]; then
                        screen -A -m -d -S $CORE_SCREEN_NAME ./start core null "$CORE_CONFIG" null null 0
                fi
        fi
        
        PID=$(cat "$REALMPID")
        checkStatus $PID
        if [ $TEST -eq 0 ]; then
                DATE=$(date)
                echo "Restarting Trinity Realm ($DATE)"
                screen -A -m -d -S $REALM_SCREEN_NAME ./start realm null "$REALM_CONFIG"
        fi
        sleep 45
done