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"
SERVERIP="178.33.34.151"
TRACE_BEGIN_STRING="SIGSEGV"
ERR_FILE="/var/www/error.log"
SYSLOG="/var/www/system.log"
SYSERR="/var/www/system.err"
LINKS_FILE="/var/www/crash_link.html"
######################
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
DATE=$(date)
TRACE_FILE="/var/www/`date`_trace.log"
echo "Restarting Trinity Core ($DATE)"
if [ $GDB_ENABLED -eq 1 ]; then
cat "$SYSLOG" > "$TRACE_FILE"
cat "$SYSERR" > "$ERR_FILE"
echo '<a href="http://$SERVERIP/$TRACE_FILE">http://$SERVERIP/$TRACE_FILE</a>' >> "LINKS_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